このレッスンは以下のレッスンを理解している事を前提としています。
プラグイン VK All in One Expansion Unit には、管理画面からカスタム投稿タイプを簡単に追加する「カスタム投稿タイプマネージャー」という機能がありますが、その機能で追加したカスタム投稿タイプは多言語には対応していませんので、多言語サイトを制作する場合などは投稿タイプ名を多言語対応する必要に迫られますので、その場合のカスタマイズ方法を解説します。
Lightning ( 14.18 以降 G3 モード )では表示中のページの投稿タイプ情報は VkHelpers::get_post_type_info() で取得・処理しています。
use VektorInc\VK_Helpers\VkHelpers;
// 投稿タイプ情報を取得
$post_type_info = VkHelpers::get_post_type_info();
返り値は以下のように スラッグ名 / 投稿タイプ名 / 投稿タイプアーカイブのURL が取得できます。
// 帰り値の結果の例
$post_type_info = array(
'slug' => 'event',
'name' => 'イベント情報',
'url' => 'https://*****/event/',
);
この投稿タイプ情報を書き換えるフィルターフック vk_get_post_type_info
が用意してありますので、このフックを利用して、以下のように記述して書き換える事ができます。
add_filter(
'vk_get_post_type_info',
function( $post_type_info ) {
// 言語が英語の場合.
if ( 'en_US' === get_locale() ) {
// 投稿タイプスラッグが 'event' の時.
if ( 'event' === $post_type_info['slug'] ) {
// 投稿タイプ名を英語表記に変更.
$post_type_info['name'] = 'Event Information';
// 英語版のアーカイブページがある場合は変更.
$post_type_info['url'] = 'https://*****/en/event/';
}
}
// 改変した投稿タイプ情報を返す.
return $post_type_info;
}
);
有効インストール数10万件以上!Lightning は WordPress公式ディレクトリに登録されているテーマです。いかに最短でサイト制作が出来るかという事に重点を置いて開発しています。デモデータも配布されているので、ビジネスサイトの雛形が数分でセットアップできます。