検索結果ページのタイトル"〇〇" の検索結果と表示される個所を変更したい。

VWSとは フォーラム Lightning 検索結果ページのタイトル"〇〇" の検索結果と表示される個所を変更したい。

検索結果ページのタイトル"〇〇" の検索結果と表示される個所を変更したい。

  • このトピックには9件の返信、2人の参加者があり、最後にyumemangoにより4年、 6ヶ月前に更新されました。
10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • 投稿者
    投稿
  • #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’ );

    #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;
    }

    もっとスマートな方法があればご教授願います。

    #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’ );
    }

    #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' );
    #20104

    yumemango
    閲覧者

    RICKさん、ありがとうございます。
    「get_search_query()で検索文字列が取得できる」を知らなかったです。

    ただ、ご提案いただいたコードを試してみましたが、
    ページ本文タイトルの <h1 class=”page-header_pageTitle”>タイトル文</h1>
    の「タイトル文」が固定・投稿ページ共に空白になってしまいます。

    get_search_query()を使用した方がスマートに実現できそうなので自分も試行錯誤してみます。

    #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' );
    #20117

    yumemango
    閲覧者

    ありがとうございました。試したところ完璧でした。
    色々お手数おかけしてすいませんでした。

    #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' );
    • この返信は4年、 6ヶ月前にyumemangoが編集しました。
    #20164

    DRILL LANCER
    モデレーター

    変とは言いませんが、過去の事例と比べると下記2点が異なるようです。

    • こちらには関数内で$microdata_li等の定義がない
    • HomeのURLを過去の実例ではhome_url( '/' )を使用している

    過去の実例の方は Vektor 社の社員の方が書いたコードなので、できる限りトレースしたほうが良いと思います。

    #20180

    yumemango
    閲覧者

    ご指摘いただきありがとうございます。過去の実例のとおり修正いたします。
    ありがとうございました。

10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • このトピックに返信するにはログインが必要です。