• 解決済 kusuchin

    (@kusuchin)


    現在、add_action(‘wp_head’)とremove_action(‘wp_head)のフックを用いて、検索結果のページタイトルの変更を試みていますが、残念ながら、成功しておりません。

    テーマのfunctions.phpへ以下のコードを追加しておりますが、下記のフックのタイミングでは、まだ表示されるページ情報がわからないのか、if文内を通ってくれません。
    ※if文をコメントアウトすると、全ページにおいてページタイトルは変更されます。

    function custom_render_title_tag($query)
    {
            echo "<title>検索結果のタイトルを変更</title>\n";
    }
    
    if(is_search() || $query->is_search || is_page_template('search.php')){
    	remove_action('wp_head', '_wp_render_title_tag', 1);
    	add_action('wp_head', 'custom_render_title_tag',1);
    }

    ちなみに、以下を挿入しても、$template_nameは空のようです。

    global $template;
    $template_name = basename($template, '.php');
    echo $template_name . "/n";

    良いアイデアがありましたら、ご教示いただけませんでしょうか。

    よろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 kusuchin

    (@kusuchin)

    前回のコードでは、フックのタイミングではなく、functions.phpの読み込みのタイミングでした。

    function custom_render_title_tag($query)
    {
    	if(is_search() || $query->is_search || is_page_template('search.php'))
    	{
    		remove_action('wp_head', '_wp_render_title_tag', 1);
            	echo "<title>検索結果のタイトルを変更</title>\n";
    	}
    }
    
    add_action('wp_head', 'custom_render_title_tag',1);

    どちらにしろ、うまくいかないのですが・・・。

    トピック投稿者 kusuchin

    (@kusuchin)

    結果から言うと、if文を通ってくれていたようですが、if文内のremove_action()が想定の動作をしてくれていなかったようです。
    ※デフォルトのadd_action(‘wp_head’, ‘_wp_render_title_tag’, 1);がフック後に既に実行されてしまっているんでしょうか?

    と言うわけで発想を変えて、試してみましたところ、うまくいきました。

    function custom_render_title_tag()
    {
    	if(is_search() || is_page_template('sample.php'))
    	{
            	echo "<title>検索結果のタイトルを変更</title>\n";
    	} else {
    		add_action('wp_head', '_wp_render_title_tag', 10);  // 2 is better
    	}
    }
    remove_action('wp_head', '_wp_render_title_tag', 1);  // need just 1. (not 2 - 9)
    add_action('wp_head', 'custom_render_title_tag', 2);  // need less than 10. (1 - 9)

    今回急ぎということもあり、.orgの方でも英語で質問させてもらっていました。.org側ではこちらのリンクを貼っていたのですが、こちら側に.org側のリンクを貼れていませんでした。

    マルチ質問になってしまいましたことを、反省します。

    モデレーター Seisuke Kuraishi

    (@tenpura)

    kusuchinさん

    今後はいかなる理由があってもマルチポストはおやめください。また、解決したのなら「解決済み」としてくださるようお願いいたします。このトピックは閉じさせていただきます。

    https://wordpress.org/support/topic/i-want-to-change-the-title-in-the-search-result-page

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「検索結果のページのタイトルを変更する」には新たに返信することはできません。