每當我們寫文章的時候,都需要手動給 WordPress 文章添加标簽,這樣既能給通路者明确這篇文章的重點,也能夠給網站的 SEO 帶來很多好處。
但是,每次都需要手動的添加耗費精力,那麼,有沒有可能實作自動為新文章添加标簽的功能呢?
目前市面上沒有一款完整的插件,我們隻能夠通過添加代碼的方式添加。
首先打開主題的 function.php 檔案
将以下代碼粘貼到 function.php 中
// WordPress 自動為文章添加已使用過的标簽
function array2object($array) { // 數組轉對象
if (is_array($array)) {
$obj = new StdClass();
foreach ($array as $key => $val){
$obj->$key = $val;
}
}
else {
$obj = $array;
}
return $obj;
}
function object2array($object) { // 對象轉數組
if (is_object($object)) {
foreach ($object as $key => $value) {
$array[$key] = $value;
}
}
else {
$array = $object;
}
return $array;
}
add_action('save_post', 'auto_add_tags');
function auto_add_tags(){
$tags = get_tags( array('hide_empty' => false) );
$post_id = get_the_ID();
$post_content = get_post($post_id)->post_content;
if ($tags) {
$i = 0;
$arrs = object2array($tags);shuffle($arrs);$tags = array2object($arrs);// 打亂順序
foreach ( $tags as $tag ) {
// 如果文章内容出現了已使用過的标簽,自動添加這些标簽
if ( strpos($post_content, $tag->name) !== false){
if ($i == 5) { // 控制輸出數量
break;
}
wp_set_post_tags( $post_id, $tag->name, true );
$i++;
}
}
}
}