検索結果ページのタイトル"〇〇" の検索結果と表示される個所を変更したい。
検索結果ページのタイトル"〇〇" の検索結果と表示される個所を変更したい。
-
投稿者投稿
-
2019年9月8日 2:09 PM #20078
yumemango閲覧者Lightning Proを使用しています。
検索結果ページのタイトルを以下phpコードのとおり、子テーマfunctions.phpで変更しているのですが、
検索結果ページ本文の <h1 class=”page-header_pageTitle”>”〇〇” の検索結果</h1> の
「”〇〇” の検索結果」と表示される個所を、タイトルと同じ文面になるように変更する方法を教えていただけないでしょうか?
どうぞよろしくお願いいたします。function change_document_title_parts( $title_parts ){
if(is_search()){
$search = array(‘“’,’”’,’の検索結果’);
$title_parts = str_replace( $search, ”, $title_parts );$title_parts[‘title’] = $title_parts[‘title’] . ‘追加文字’;
}
return $title_parts;
}
add_filter( ‘document_title_parts’, ‘change_document_title_parts’ );2019年9月8日 8:35 PM #20093
yumemango閲覧者リンク先URLに検索値を付加(GET)して検索結果ページを表示していたので、現在以下のコードで取り敢えず対応しました。
add_filter( ‘lightning_pageTitCustom’, ‘my_lightning_pageTitCustom’ );
function my_lightning_pageTitCustom( $pageTitle ) {
if(isset($_GET[‘s’])) {
$pageTitle = $_GET[‘s’] . ‘追加文字’;
}
return is_single() ? get_the_title() : $pageTitle;
}もっとスマートな方法があればご教授願います。
2019年9月9日 12:36 AM #20098
yumemango閲覧者上のコードだと検索結果ページ以外のページに影響するので、以下に修正しました。
function my_lightning_pageTitCustom( $pageTitle ) {
if(isset($_GET[‘s’])) {
$pageTitle = $_GET[‘s’] . ‘追加文字’;
}
return is_single() ? get_the_title() : $pageTitle;
}
if(isset($_GET[‘s’])) {
add_filter( ‘lightning_pageTitCustom’, ‘my_lightning_pageTitCustom’ );
}2019年9月9日 12:49 AM #20099
DRILL LANCERモデレーター単純に下記コードでOKなのでは?
get_search_query()
で検索文字列が取得できるので、
あとは追加したい文字列を前後に配置すればOKかと。function my_lightning_pageTitCustom( $pageTitle ) { if ( is_search () ) { $pageTitle = '前方追加文字列' . get_search_query() . '後方追加文字列'; } } add_filter( 'lightning_pageTitCustom', 'my_lightning_pageTitCustom' );
2019年9月9日 2:28 AM #20104
yumemango閲覧者RICKさん、ありがとうございます。
「get_search_query()で検索文字列が取得できる」を知らなかったです。ただ、ご提案いただいたコードを試してみましたが、
ページ本文タイトルの <h1 class=”page-header_pageTitle”>タイトル文</h1>
の「タイトル文」が固定・投稿ページ共に空白になってしまいます。get_search_query()を使用した方がスマートに実現できそうなので自分も試行錯誤してみます。
2019年9月9日 8:07 AM #20110
DRILL LANCERモデレーターどうやら
add_filter
の仕様を理解していなかったみたいでした。
フォーラムで過去の事例を探したところ下記の様にすればうまくいきそうです。function my_lightning_pageTitCustom( $title ) { if ( is_search () ) { $title = '前方追加文字列' . get_search_query() . '後方追加文字列'; } return $title; } add_filter( 'lightning_pageTitCustom', 'my_lightning_pageTitCustom' );
2019年9月9日 10:40 AM #20117
yumemango閲覧者ありがとうございました。試したところ完璧でした。
色々お手数おかけしてすいませんでした。2019年9月9日 8:41 PM #20155
yumemango閲覧者追記。検索結果ページの「パンくずリスト」もタイトルと同じになるように以下コードを追加しました。
変な箇所ありましたらご指摘ください。function change_lightning_panListHtml( $panList_parts ){ if(is_search()){ $panList_parts = '<!-- [ .breadSection ] --> <div class="section breadSection"> <div class="container"> <div class="row"> <ol class="breadcrumb" itemtype="http://schema.org/BreadcrumbList"> <li id="panHome"><a href="https://abcde.com/"><span><i class="fa fa-home"></i> HOME</span></a></li> <li><span>' . get_search_query() . '追加文字</span></li> </ol> </div> </div> </div> <!-- [ /.breadSection ] -->'; } return $panList_parts; } add_filter( 'lightning_panListHtml', 'change_lightning_panListHtml' );
- この返信は5年、 2ヶ月前にyumemangoが編集しました。
2019年9月10日 12:33 AM #20164
DRILL LANCERモデレーター変とは言いませんが、過去の事例と比べると下記2点が異なるようです。
- こちらには関数内で
$microdata_li
等の定義がない - HomeのURLを過去の実例では
home_url( '/' )
を使用している
過去の実例の方は Vektor 社の社員の方が書いたコードなので、できる限りトレースしたほうが良いと思います。
2019年9月10日 8:04 AM #20180
yumemango閲覧者ご指摘いただきありがとうございます。過去の実例のとおり修正いたします。
ありがとうございました。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。