[WordPress]Yoast SEOとBogoの組み合わせてカスタム投稿タイプアーカイブのタイトルを書き換え

最終更新: 2019/02/05/公開: 2019/02/05
この記事は 2019年2月5日 に投稿されました。
内容が古いかもしれません。ご注意ください。
※最後に更新されたのは 2019年2月5日 です。

今回したかったこと

Yoast SEOを入れつつBogoで多言語化しているサイトで、カスタム投稿タイプアーカイブのタイトルが翻訳したかった
なおPotファイルなどを使う方法もあるかと思うけど、、、ちょっとわからなかった……

やったこと

どうも通常のフィルターフックよりはYoast SEOのタイトル書き換え機能のが強いように思ったので Yoast SEOのタイトル書き換えフィルターを調べて、それを使いました。(翻訳ファイル作ったところで書き換えられないのでは?という判断もここでしてます。実際はできるのかな、、?)
下記を参考
なお今回はポストタイプの種類は決まっているので追加変更には対応しておらず、言語も日英のみなので日本語かどうかしか判定していません。

【Yoast SEO】titleタグを変更して出力する方法|wpseo_title

BLOG AND DESTROY
//Yoast SEO用 カスタム投稿タイプのタイトル翻訳
add_filter('wpseo_title', 'tr_yoast_pt_title');
function tr_yoast_pt_title( $title ){
  $locale = get_locale(); //言語取得
  if( is_post_type_archive() && $locale != 'ja' ){ //ポストタイプアーカイブで日本語じゃない場合
    $pt_name = get_post_type_object(get_post_type())->name; //ポストタイプのスラッグを取得
    $pt_tr_arr = array( //配列で対応
      'hoge'    => 'Hoge',
      'fuga'   => 'Fuga',
      //以下続く....
    );
    return $pt_tr_arr[$pt_name].' | '.get_bloginfo('name');
  }
  return $title;
}

という感じでした。これをドンピシャでやってるドキュメントがなかったので何かの参考になればと思います。