天天看點

純代碼為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++;
      }
    }
  }
}           

繼續閱讀