我想向自定义内容类型的每个页面添加一些内容。内容类型是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; }
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或更好的插件。