向内容添加内容(_A)

时间:2018-05-04 作者:HotCamel

我想向自定义内容类型的每个页面添加一些内容。内容类型是wordpress的“百科全书”附加组件。

在每一页的底部,我想添加引用。编辑文章时,这些字段作为自定义字段输入。我目前有一个侧边栏小部件来显示引用,但出于搜索引擎优化的目的,以及页面上更好的可见性,我想在文章末尾的附加标题下添加这些内容-因此它看起来好像是文章的一部分。

我可以手动完成,但我有1000多个百科全书条目。

我想我需要做的是添加一个过滤器,检查自定义内容类型,类似于:How can I add/append content to the_content on the home page via a plugin?

但我不知道该把代码放在哪里,或者如何调用我的自定义内容类型。

在我的边栏小部件中,自定义内容类型由acf插件使用短代码调用。

任何帮助都将不胜感激!

到目前为止,通过一点google,我已经拼凑出了一些东西,但“is\\u single”显然是不对的,我不知道该把代码放在哪里。

add_filter (\'the_content\', \'references’); function references($content) {    if(is_single()) {
      $content.= \'<h3>References</h3>\';
      $content.= \'[acf field="sources"]\';
      $content.= \'<a href="https://***.com/sources">Read more about our sources</a>\';    }    return $content; }

1 个回复
SO网友:LWS-Mo

你基本上都做对了。但您发布的代码也给出了由 代码中的字符。

add_filter (\'the_content\', \'references\'); 
function references( $content ) {    

    // only run the code on singular views of the post type "my_custom_post_type"
    if( is_singular(\'my_custom_post_type\') ) { // insert your custom post type here

        // get current post ID
        $post_id = get_the_ID();

       // get your custom field here using what you need;
       // maybe use: get_post_meta( $post_id, \'custom_field_name\');
       // you showed a shortcode, than maybe use:
       // do_shortcode(\'[acf field="custom_field_name"]\');
       $custom_field = get_post_meta( $post_id, \'custom_field_name\');

      $content.= \'<h3>References</h3>\';
      $content.= $custom_field;
      $content.= \'<a href="https://***.com/sources">Read more about our sources</a>\';    
    }    

    return $content; 
}
例如,如果替换my_custom_post_type 具有product (WooCommerce帖子类型)您只能在单个产品页面上看到此内容。

您应该将此代码放在函数中。php或更好的插件。

结束

相关推荐