我想在包含有「tag:世界弈棋」的文章頭部或底部添加一個世界弈棋的列表。
搜索到以下代碼:
function add_after_post_content($content) {
if(!is_feed() && !is_home() && is_singular() && is_main_query()) {
$content .= '添加自定義內容';
}
return $content;
}
add_filter('the_content', 'add_after_post_content');
但是以上代碼並不能選擇在哪些文章添加,我需要找到「篩選含有特定tag的文章」的方法。
找到wordpress有get_the_tags()方法,這個可以知道文章含有哪些tag。
我還需要一個「列出文章」的方法,找到get_posts()。同時我發現,如果我都掌握了這個方法,則某些插件可能都不需要安裝了……但是,我既然已經安裝了某插件,為了省時省力,我還是用了……
最終我的snippet是這樣寫的:
function add_world_classic_games($content) {
if(!is_feed() && !is_home() && is_singular() && is_main_query()) {
$post_tags = get_the_tags();
if ( $post_tags ) {
foreach( $post_tags as $tag ) {
if ("world-classic-games" == $tag->slug){
$content .= '[ postlist id=8774 ]';
break;
}
}
}
}
return $content;
}
add_filter('the_content', 'add_world_classic_games');
效果參見: