サポート » テーマ » ページタイトルから、サイトのタイトルを除去する件

  • 解決済 itiyama

    (@itiyama)


    こんにちは。宜しくお願いします。
    先日、質問して、shokun0803さまに回答を頂きました。
    解決しました。ありがとうございました。

    先日は、テーマがTwenty Sixteenでした。
    今回のご相談は、別テーマです。古いテーマを使っています。
    (厚かましくも、質問致します。スイマセン。)

    shokun0803さま

    サブページ -> ページのタイトル – サイトのタイトル
    となっているのがデフォルトのようでした。

    で、WordPress 4.1以降、タイトルタグはadd_theme_support()という関数を使用して表示していることがほとんどだと思われます

    functions.php に以下のコードを・・

    と、お教え頂き、今回のテーマにも適用しました。
    しかし、投稿・固定ページで、
    タイトルが、
    ページのタイトル – サイトのタイトル
    と、なってしまっています。

    トップページは、問題なくて、
    サブページ(投稿・固定ページ)の、タイトルです。

    元のタイトル(header.php)
    <title><?php wp_title(' '); ?><?php if (wp_title(' ', false)) : ?>|<?php endif; ?><?php bloginfo('name'); ?></title>

    wp_titleという関数は、古いので非推奨と、書いてあるページもあります。
    add_theme_support( ‘title-tag’ );
    を使いなさいと、書かれています。ではありますが・・・

    以下の様に(header.php)を変更しようと考えています
    <title><?php wp_title(' '); ?><?php if (wp_title(' ', false)) : ?><?php endif; ?></title>

    お構い無ければ、ご見識をお聞かせください。
    書き方に自信がありません。何卒よろしくお願いします。

    //// WordPressのバージョンなど ////
    `
    ### wp-core ###

    version: 5.8
    site_language: ja
    user_language: ja

    ### wp-plugins-active (22) ###

    AddToAny Share Buttons: version: 1.8.2, author: AddToAny, 自動更新無効
    Akismet Anti-Spam: version: 4.2.1, author: Automattic, 自動更新無効
    All-in-One WP Migration: version: 7.51, author: ServMask, 自動更新無効
    AMP: version: 2.2.0, author: AMP Project Contributors, 自動更新無効
    Breadcrumb NavXT: version: 7.0.0, author: John Havlik, 自動更新無効
    Category Order: version: 1.0.3, author: Wessley Roche, 自動更新無効
    Category Order and Taxonomy Terms Order: version: 1.5.7.7, author: Nsp-Code, 自動更新無効
    Classic Widgets: version: 0.2, author: WordPress Contributors, 自動更新無効
    Hide Admin Bar: version: 0.4.0.3, author: Shelby DeNike, 自動更新無効
    List category posts: version: 0.86, author: Fernando Briano, 自動更新無効
    MW WP Form: version: 4.4.0, author: inc2734, 自動更新無効
    Prime Strategy Page Navi: version: 1.0.3, author: Hitoshi Omagari, 自動更新無効
    PS Auto Sitemap: version: 1.1.9, author: Hitoshi Omagari, 自動更新無効
    reCAPTCHA for MW WP Form: version: 1.0.2, author: Nakashima Masahiro, 自動更新無効
    Regenerate Thumbnails: version: 3.1.5, author: Alex Mills (Viper007Bond), 自動更新無効
    Search Regex: version: 2.4.1, author: John Godley, 自動更新無効
    Simple Mathjax: version: 2.0.1, author: Samuel Coskey, Peter Krautzberger, Christian Lawson-Perfect, 自動更新無効
    Site Kit by Google: version: 1.48.0, author: Google (latest version: 1.48.1), 自動更新無効
    TablePress: version: 1.14, author: Tobias Bäthge, 自動更新無効
    WP-DBManager: version: 2.80.3, author: Lester ‘GaMerZ’ Chan, 自動更新無効
    wp-jquery-lightbox: version: 1.4.8.3, author: Ulf Benjaminsson, 自動更新無効
    WP Multibyte Patch: version: 2.9, author: Seisuke Kuraishi, 自動更新無効

    ### wp-server ###

    server_architecture: Linux 4.4.0-208-generic x86_64
    httpd_software: Apache
    php_version: 7.4.16 64bit
    php_sapi: cgi-fcgi

    ### wp-database ###

    extension: mysqli
    server_version: 5.7.33-log
    client_version: mysqlnd 7.4.16

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • itiyamaさん、こんにちは。

    テーマファイルの改修は子テーマで、というのは大丈夫だと仮定して…

    改修する方法はいくつかあります。

    親テーマから header.php だけ子テーマにコピーしてきて、itiyamaさんの記載の通り、いらない部分を削除してしまう方法。

    functions.php にadd_theme_support( 'title-tag' );を追記して、header.php の<title>~</title>部分を削除してしまい、WordPressの出力に任せてしまう方法。

    フィルターによるカスタマイズでカスタマイズする方法、もありますが、今回はサイト名を省きたいだけなので、使えないかな?

    いずれにしても子テーマ作成と改修が必要なので、ご自身に適した方法を検討してみてください。
    ご参考になれば。

    トピック投稿者 itiyama

    (@itiyama)

    shokun0803さま
    こんにちは。今回もお手数をお掛けしました。
    ご見識をお教え頂き、感謝申し上げます。

    shokun0803さまの与えて頂いた選択肢で、解決に至りました。
    ご教授頂き、本当にありがとうございました。

    functions.php にadd_theme_support( 'title-tag' );を追記して、header.php の<title>~</title>部分を削除してしまい、WordPressの出力に任せてしまう方法。

    と、
    先日お教え頂いた記述内容

    /**
    * サイトトップでキャッチフレーズを、サブページでサイトタイトルを消す
    */

    function change_document_title_parts( $title ){
        $title['tagline'] = '';
        $title['site'] = '';
    
        return $title;
    }
    add_filter( 'document_title_parts', 'change_document_title_parts' );

    を併用させてましたところ、解決しました。
    これで、大丈夫でございました。本当に助かりました。

    テーマファイルの改修は子テーマで、というのは大丈夫だと仮定して…

    子テーマ、出来ていません。スイマセン。
    子テーマ作成は、今後の課題にして行きたいと思います。

    重ねてお礼を申し上げます。
    ありがとうございました。失礼致します。

    • この返信は2年、 4ヶ月前にitiyamaが編集しました。
    • この返信は2年、 4ヶ月前にitiyamaが編集しました。
    • この返信は2年、 4ヶ月前にitiyamaが編集しました。

    @itiyama さん、こんにちは。

    すでに解決済みとしていただいておりますが、せっかくなのでちょっと子テーマについて。

    子テーマ、出来ていません。スイマセン。
    子テーマ作成は、今後の課題にして行きたいと思います。

    おそらく古いテーマをお使いで、すぐにバージョンアップされてしまうようなことはないと思いますので、慌てる必要はないのかもしれませんが、仮に使用しているテーマがアップデートされてしまうと、改修していた箇所はすべて消えてしまうので、早めに子テーマの導入を検討されることをお勧めいたします。
    ちなみにアップデートを行わないという選択肢はないです。セキュリティ的に絶対おやめください。

    で、子テーマに関してですが、とても簡単です。
    以下のサーバーを直接編集するのが苦手なのであれば、Child Theme Configuratorという管理画面から子テーマを作成することができるプラグインもあるようですので、お試しを。

    子テーマの作り方は、/wp-content/themes/ディレクトリの中にディレクトリをひとつ作ります。そうですね、例えば親テーマがTwenty Twenty-Oneだったとしたら、twentytwentyone-childとかでいいですね。
    そして、その中に最低でも2つのファイルstyle.cssfunctions.phpを作って、style.cssに以下のような記載を行います。

    /*
    Theme Name: Twenty Twenty-One Child
    Template: twentytwentyone
    */

    基本的にはstyle.cssがあるだけで子テーマとしては成り立ちます。親テーマのスタイル情報を引き継ぐためにfunctions.phpに以下のような記載を行う必要があるでしょう。

    <?php
    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
    function my_theme_enqueue_styles() {
        wp_enqueue_style( 'child-style', get_stylesheet_uri(),
            array( 'parenthandle' ), 
            wp_get_theme()->get('Version') // this only works if you have Version in the style header
        );
    }

    詳細は公式の説明を読まれるとよろしいかと思われます。
    Child Themes

    子テーマが作成できたら改修したいファイルだけを親テーマからコピーしてきて、そのファイルを改修します。今回の場合で言えばheader.phpだけですかね。

    これで安心してサイトを運用できるようになりますので、ぜひご検討ください。
    ご参考になれば。

    トピック投稿者 itiyama

    (@itiyama)

    shokun0803さま
    こんにちは。お世話になっております。ありがとうございます

    子テーマについて、出来る限り速く、近日中に、
    実行することにします。

    以前から、考えながら、実行できていませんでした。
    詳細にお教え頂き、ありがとうございました。
    今後ともよろしくお願い申し上げます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「ページタイトルから、サイトのタイトルを除去する件」には新たに返信することはできません。