添加〔世界弈棋〕精選列表

我想在包含有「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');

效果參見:

Leave a Comment