前提
wordpressで検索サイトを制作しています。
絞り込み検索時には、titleタグ内に、絞り込んだスラッグ名が動的に表示されるような設定にしました(下記コードをご覧ください)。
※絞り込み検索と検索結果は、search&filter proというプラグインを使用し、固定ページに表示しております。
■header.php
<?php $area = $_GET['_area_cat']; $genre = $_GET['_genre_cat']; ?> <?php if( is_page('tokyo') ): ?> <title> 東京都 <?php echo get_term_by('slug',$area,"area_cat")->name; ?>の飲食店 <?php if (isset($_GET['_genre_cat'])) : ?> (<?php $title_cats = array(); foreach(explode(",", $genre) as $genre_slug) { $genre_cat = get_term_by("slug", $genre_slug, "genre_cat"); if ($genre_cat) { $title_cats[] = $genre_cat->name; } } echo implode(",", $title_cats); ?>) <?php else: ?> <?php endif; ?> </title> <?php else: ?> <?php endif; ?>
上記コードを設置後、ソースコードを確認すると、titleタグが二つダブって表示されています。
wp_headが出力するtitleタグです。
ダブっていてはまずいと思い、wp_headが出力するtitleタグを、絞り込み検索結果ページのみ非表示にしようと考えました。
functions.phpにtitleタグを削除するコードを書き込もうと考えたのですが、いくら調べても特定のページにのみ適用する方法がわかりませんでした。
実現したいこと
絞り込み検索結果が表示される固定ページにのみ、header.phpに書いたtitleタグを活かし、wp_headが出力するtitleタグを削除したいです(絞り込み検索以外のページでは、wp_headが出力するtitleタグをそのまま使用したい)。
functions.phpはほとんど編集したことがなく、PHPの知識も乏しいため解決が困難になり質問させていただきました。
参考ページでも構いません、皆様の知恵をお貸しください!!
よろしくお願いいたします。
試したこと・該当のソースコード
様々なサイトを検索し、下記のコードでtitleタグを削除できることはわかったのですが、特定のページに適用させるコードをどのように起こして良いのかわかりませんでした。
■functions.php
function remove_action( 'wp_head', '_wp_render_title_tag', 1 );
補足情報
WPのバージョンは、5.9です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/13 07:04