首页 » Wordpress » WordPress技巧:在过滤器中获得文章ID

WordPress技巧:在过滤器中获得文章ID

11461 11

今天在写主题的时候,需要利用add_filter(‘the_content’)过滤器在文章尾部生成评分系统。通常如果手动在single.php文件里做同样的事,可能会简单的多,只需要用the_ID()就能获取文章ID号码,但是在用了过滤器后,这个东西就不生效了。

比如这种:

get_post_meta($post->ID,'tf_topic_rate',true);

如果是写在single.php里,拿到的是meta里的值,但如果是在过滤器里,由于$post->ID是没有意义的,所以最终拿到的值是null,那么在过滤器中如何获取文章的ID呢,这里介绍两个办法,一个是用get_the_ID()替代$post->ID,例如上面代码改成:

get_post_meta(get_the_ID(),'tf_topic_rate',true);

或者添加global $post来解决:

$global $post;
get_post_meta($post->ID,'tf_topic_rate',true);

上述代码主要用来在文章尾部增加一个评分系统,网上的星号评分都基本来自wp-PostRatings这款插件,或者从中取出代码修改后自用,tiandi感觉代码冗余还是过多,所以只能一步步写一个出来,效果其实还是差不多的,目的么纯为了google结构化数据而已。

rates wordpress

文章评分4次,平均分3.8

本文原始地址:https://www.tiandiyoyo.com/2014/08/how-to-get-id-from-filter/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


11 Comments

  1. FROYO :

    在写新主题,赞一个

  2. mooc :

    首页的友情链接不见了(>﹏<)

  3. mooc :

    新主题帅呆了·!

  4. 有什么用 没看出来啊

  5. 郑永 :

    继续折腾,呵呵。。经典

  6. 前來支持一下~~學習啦!

载入分页评论...