純代碼爲wordpress文章添加標籤無需插件實現

每當我們寫文章的時候,都需要手動給 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++;
      }
    }
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章