概要
woocommerce_page_title
は、WooCommerceで生成されるページのタイトルをフィルタリングするためのフックです。このフィルタを使用することで、特定の条件に基づいてページタイトルを変更したり、カスタマイズしたりすることができます。主に次のような機能を実装する際によく使われます。
- 特定の商品のページタイトルをカスタマイズする
- カテゴリーページに異なるタイトルを設定する
- 特定のユーザーグループに基づいてタイトルを変更する
- SEOに最適化したタイトルを生成する
- プロモーション用の特別なタイトルを追加する
- 言語の切り替えによるタイトルの変更
構文
add_filter( 'woocommerce_page_title', 'your_custom_function' );
パラメータ
$page_title
: 変更前のページタイトル(文字列)
戻り値
- 変更後のページタイトル(文字列)
バージョン情報
- WooCommerce: 3.0以上
- WordPress: 4.0以上
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル1: 商品ページのタイトルをカスタマイズ
function custom_product_page_title( $page_title ) {
if ( is_product() ) {
$page_title = '特別な商品ページ - ' . get_the_title();
}
return $page_title;
}
add_filter( 'woocommerce_page_title', 'custom_product_page_title' );
このコードは、商品ページのタイトルに「特別な商品ページ – 」というプレフィックスを追加します。
サンプル2: カテゴリーページにカスタムタイトルを設定
function custom_category_title( $page_title ) {
if ( is_product_category() ) {
$page_title = '特別なカテゴリー - ' . single_term_title('', false);
}
return $page_title;
}
add_filter( 'woocommerce_page_title', 'custom_category_title' );
このコードは、WooCommerce商品カテゴリーページに「特別なカテゴリー – 」というタイトルを追加します。
サンプル3: ユーザーによるタイトルの変更
function user_based_title( $page_title ) {
if ( is_user_logged_in() ) {
$page_title = 'ようこそ、' . wp_get_current_user()->display_name . 'さん!';
}
return $page_title;
}
add_filter( 'woocommerce_page_title', 'user_based_title' );
このコードは、ログインしているユーザーの名前を含むカスタムタイトルを設定します。
サンプル4: SEO向けのタイトル
function seo_optimized_title( $page_title ) {
if ( is_shop() ) {
$page_title = '最高のオンラインショップ | あなたのブランド名';
}
return $page_title;
}
add_filter( 'woocommerce_page_title', 'seo_optimized_title' );
このコードは、ショップページのタイトルをSEOに最適化された形に変更します。
サンプル5: ランディングページ用の特別タイトル
function landing_page_title( $page_title ) {
if ( is_page( 'ランディングページ' ) ) {
$page_title = '特別なオファー';
}
return $page_title;
}
add_filter( 'woocommerce_page_title', 'landing_page_title' );
このコードは、特定のランディングページのタイトルを「特別なオファー」に変更します。