タグ: theme

  • [WP] テーマ: Twenty Twenty-Fourを導入したのでカスタマイズのための情報収集

    [WP] テーマ: Twenty Twenty-Fourを導入したのでカスタマイズのための情報収集

    WordPress

    の標準テーマの最新は,「Twenty Twenty-Four」です.標準テーマの毎年発表されています.このサイトで最初に使いだしたのは「Twenty Seventy」でした,その後,「Twnety Twenty」,「Twenty Twenty-Tree」,「Twenty Twenty-Four」と切り替えてきました.Twenty Twentyでは,「content.php」が存在していたので,投稿のカスタマイズに修正を加えて行っていました.

    最新の「Twenty Twenty-Four」では「content.php」が存在しません.別記事に書きましたが,どうやって投稿のカスタマイズをしたらいいのかしばらく悩みました.結論は,「functions.php」にadd_actionやadd_filterを使用することに至りました.

    今回は,投稿やページのカスタマイズにfunctions.phpなどに直接コードを書くことなく可能にするために,標準機能でできることを第一の優先事項として情報を収集することにしました.

    今後,随時情報を追加していきます.

    Twenty Twenty-Four─新たなシンプル&多目的デフォルトWordPressテーマ| Kinsta®(新しいタブで開く)

    https://kinsta.com/jp/blog/twenty-twenty-four-theme/

    編集履歴

    2024/01/07, Mr.HARIKIRI

  • [WordPress] このサイトの表示に関係する使用している「テーマ」と「プラグイン」のリスト – [2020/09/11]

    [WordPress] このサイトの表示に関係する使用している「テーマ」と「プラグイン」のリスト – [2020/09/11]

    ID22353

    はじめに

    現在、皆さんが、このサイトに来て見てみいるページ表示に関わるWordPressテーマ、およびプラグインのリストを公開します。これからWordPressでサイトの構築をされる方の参考になれば幸いです。

    システム構成

    Synology NAS

    • 2020/12現在
    • DS920+ (DS918+からWordPressを載せ替え, 2020/07)
    • Disk Station Manager, Version 6.2.3-25426 Update 2 (2020/12現在)

    WordPress

    • Version : 5.6-ja
    • Theme : Twenty Twenty
    • Editor : Gutenberg (標準エディタ)

    表示に関係するプラグイン・リスト

    • AMP
      • ページのAMP化
    • Advanced Ads – Ad Manager & AdSense (有料)
      • 広告の自動挿入、手動挿入
    • Flex Posts – Widget and Gutenberg Block
      • ポスト・リスト表示(カスタマイズあり)
    • Table of Content Plus
      • ページへの自動的な目次の挿入
    • EWWW Image Optimizer (有料)
      • 全てのイメージを圧縮・最適化とLady Loadなど
    • Default featured image
      • feature imageを設定していない場合のDefault imageを自動設定
    • Flying Analytics by WP Speed Matters
      • レスポンス改善
    • Insert Pages
      • 表示のカスタマイズ
    • Share Buttons by AddThis
      • TwitterなどのSNSへの投稿

    以上

    編集履歴
    2020/07/11 Mr.HARIKIRI
    2020/12/15、現状にupdate
  • [WordPress] 自作プラグイン、Twenty Twentyテーマ幅の修正、子テーマのcontent.phpをいじる – △ID11199 [2020/03/01]

    [WordPress] 自作プラグイン、Twenty Twentyテーマ幅の修正、子テーマのcontent.phpをいじる – △ID11199 [2020/03/01]

    はじめに

    サイトの表示具合は、設定されているCSSを変更して自分好みに変更したり、自作のプラグインにCSSコードを埋め込んだり、色々と方法があるようです。CSSをいじる場合は、小テーマを作って、それを編集するようにします。子テーマを作る理由は、テーマのアップデートによって上書きされてしまうので、それを避けるためです。私も専門家ではありませんが、これからは、徐々にサイトの表示具合をカスタマイズしていきたいと思っていますが、その手法もいろいろあり、それらを学んで行こうと思います。

    自作プラグイン

    まだ、表示幅の埋め込みしかできていません。当サイトでしようしているTwenty Twentyテーマの投稿のデフォルト幅を、以下の手順で自作プラグインとしてインストールして、広くなるように設定できます。

    • 参考1からWordPressのTwenty Twentyテーマのデフォルトの投稿幅を広くするコードを、参考1のmy-plugin.phpの指定の箇所にコピペする
    • my-plugin.phpは、WordPressのブラインインとしてインストールできるようにパッケージされているので、ダウンロードしたファイルの組合せで、アップロードしてインストールする。
    • 以上の操作で、設定が反映される。

    参考1
    WordPress5.3 新デフォルトテーマ Twenty Twenty をチェックしています

    https://nendeb.com/819

    参考2
    WordPress (自分専用)マイ・プラグインを作ろう

    https://nendeb.com/1

    完成したプラグインのコード

    幅の修正のオリジナルは、functions.phpにグローバル変数として設定されており580px(下の「functions.php」を参照)でしたが、iPad Pro 11で閲覧して違和感のない広さに設定してみました。

    その設定では、860pxになっています。以下のコードのコメントには、オリジナルの値580pxを残していますが、実際の設定コードは860pxに変更しています。

    functions.php

    グローバル変数 $content_width

    	// Set content-width.
    	global $content_width;
    	if ( ! isset( $content_width ) ) {
    		$content_width = 580;
    	}
    

    my-plugin.php

    <?php
    /*
    Plugin Name: my-plugin
    Plugin URI:
    Description: My Plugin For WordPress.
    Version: 1.0.2
    Author: nendeb
    Author URI: http://nendeb.com/
    License: GPLv2 or later
    */
    
    
    // ここからコードをいれてください。
    
    // Start_01,WordPress Theme: Twenty Twenty の表示幅
    /* コンテンツ幅は 580px と だいぶ狭いなと思うので 簡単に変更できるかテストしてみました。
    公開画面と管理画面のCSS と $GLOBALS[‘content_width’] を上書きしてみます。
    */
    
    /*
     * 公開画面での Content幅を 860px へ変更する
     * @since Twenty Twenty 1.0
     * License: GPLv2 or later
     */
    function twentytwenty_org_style() {
        echo '<style>
        .section-inner.thin,
        .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide){
            max-width: 86rem;
        }
        </style>';
    }
    add_action( 'wp_head', 'twentytwenty_org_style', 99 );
     
     
    /*
     * 管理画面での Content幅を 860px へ変更する
     * @since Twenty Twenty 1.0
     * License: GPLv2 or later
     */
    function twentytwenty_admin_style() {
        // Content幅 860 + 30 -> 860 + 0 : Admで確認した画面がUserの画面と異ならないようにした
        echo '<style>
        .wp-block {
            max-width: 860px;
        }
        .wp-block[data-align="wide"] {
            max-width: 860px;;
        }
        .wp-block[data-align="full"] {
            max-width: none;
        }
        </style>';
    }
    add_action( 'admin_print_styles', 'twentytwenty_admin_style', 99 );
     
     
    /*
     * content_width を 860px へ変更する
     * @since Twenty Twenty 1.0
     * License: GPLv2 or later
     */
    function twentytwenty_content_width() {
        // This variable is intended to be overruled from themes.
        $GLOBALS['content_width'] = 860;
    }
    add_action( 'after_setup_theme', 'twentytwenty_content_width', 0 );
    
    // End_01
    
    
    
    
    
    
    
    
    
    
    
    // ここまで
    
    
    if ( ! function_exists( 'nendebcom_hide_myplugin_updateplugin' ) ) :
    /*
     * サンプル
     * my-pluginの更新を非表示
     *
     * Note : https://nendeb.com/350
     */
    function nendebcom_hide_myplugin_updateplugin( $data ) {
    	if ( isset( $data->response['my-plugin/my-plugin.php'] ) ) {
    		unset( $data->response['my-plugin/my-plugin.php'] );
    	}
    	return $data;
    }
    add_filter( 'site_option__site_transient_update_plugins', 'nendebcom_hide_myplugin_updateplugin' );
    endif; // nendebcom_hide_myplugin_updateplugin
    
    
    
    
    
    if ( ! function_exists( 'nendebcom_plugin_last_load' ) ) :
    /*
     * サンプル
     * my-plugin を最後に読み込むようにする。
     * Note : https://nendeb.com/10
    */
    function nendebcom_plugin_last_load() {
    
        $this_activeplugin  = '';
        $this_plugin        = 'my-plugin/my-plugin.php';    //最後に読み込みたいプラグイン
        $active_plugins     = get_option( 'active_plugins' );
        $new_active_plugins = array();
    
        foreach ( $active_plugins as $plugins ) {
            if( $plugins != $this_plugin ){
                $new_active_plugins[] = $plugins;
            }else{
                $this_activeplugin = $this_plugin;
            }
        }
    
        if( $this_activeplugin ){
            $new_active_plugins[] = $this_activeplugin;
        }
    
        if( ! empty( $new_active_plugins ) ){
            update_option( 'active_plugins' ,  $new_active_plugins );
        }
    }
    add_action( 'activated_plugin', 'nendebcom_plugin_last_load' );
    endif; // nendebcom_plugin_last_load
    

    子テーマのfunctions.phpをいじる

    子テーマの作り方は、以下の関連記事をご参照ください。

    子テーマのディレクトリ直下にある「functions.php」に以下のコードを挿入します。

    functions.php

    • 子テーマ定義
    • 自動保存無効化
    • Headに(adsense)組み込み
      • AMP対応したページ/投稿には、headerにJavaScriptコードは使えません。挿入しても無効化されます。
    <?php
    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
    function theme_enqueue_styles() {
      wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
      wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style')
      );
    }
    
    // 自動保存を無効にする処理
    function autosave_off() {
      wp_deregister_script('autosave');
    }
    add_action( 'wp_print_scripts', 'autosave_off' );
    // For no support to AMP, AMP do not allow insertion to Header
    // 以下は、<Head>と</head>の間にGoogle Adsenseコードを挿入
    // ただし、AMPでは、無秩序に挿入は許されないため、AMPを使用する場合は削除
    function km_script () {
     echo '<div><script data-ad-client="ca-pub-1277399675163968" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script></div>';
    }
    add_action( 'amp_post_template_head', 'km_script' );
    //
    
    ?>

    ログインしているときに処理する

    編集の最中に、投稿内容をブラウザで表示させて確認する場合、「編集」リンクを投稿の最初や最後の方に表示できると便利です。以下は、投稿の最初に表示させるカスタマイズです。同時に前後の投稿ナビゲーションも表示させます。

    content.phpに、以下のコードを挿入します。

    <?php if (is_user_logged_in()) : ?>
    
    	<div>
    	<?php
    	if ( is_single() ) {
    	
    		get_template_part( 'template-parts/navigation' );
    			
    	}
    
    		// 編集
    		edit_post_link();
    
    	?>
    	</div>
    
    <?php endif;?>
    

    完成した – content.php

    • 前後の投稿へのナビゲータ
    • 投稿の編集リンクの表示

    以下、完成した content.phpのコード

    <?php
    /**
     * The default template for displaying content
     *
     * Used for both singular and index.
     *
     * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
     *
     * @package WordPress
     * @subpackage Twenty_Twenty
     * @since 1.0.0
     */
    
    ?>
    
    <article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
    
    	<?php
    
    	get_template_part( 'template-parts/entry-header' );
    
    	if ( ! is_search() ) {
    		get_template_part( 'template-parts/featured-image' );
    	}
    
    	?>
    
    	<div>
    	<?php 
    	// 全ページに表示 : カテゴリメニュー
    	get_template_part( 'template-parts/info-course' );  
    	?>
    	</div>
    
    <?php if (is_user_logged_in()) : ?>
    
    	<div>
    	<?php
    	if ( is_single() ) {
    	
    		get_template_part( 'template-parts/navigation' );
    			
    	}
    
    		// 編集
    		edit_post_link();
    
    	?>
    	</div>
    
    <?php endif;?>
    
    
    
    	<div class="post-inner <?php echo is_page_template( 'templates/template-full-width.php' ) ? '' : 'thin'; ?> ">
    
    		<div class="entry-content">
    
    			<?php
    			if ( is_search() || ! is_singular() && 'summary' === get_theme_mod( 'blog_content', 'full' ) ) {
    				the_excerpt();
    			} else {
    				the_content( __( 'Continue reading', 'twentytwenty' ) );
    			}
    			?>
    
    		</div><!-- .entry-content -->
    
    	</div><!-- .post-inner -->
    
    	<div class="section-inner">
    		<?php
    		wp_link_pages(
    			array(
    				'before'      => '<nav class="post-nav-links bg-light-background" aria-label="' . esc_attr__( 'Page', 'twentytwenty' ) . '"><span class="label">' . __( 'Pages:', 'twentytwenty' ) . '</span>',
    				'after'       => '</nav>',
    				'link_before' => '<span class="page-number">',
    				'link_after'  => '</span>',
    			)
    		);
    
    		// 編集
    		edit_post_link();
    
    		// Single bottom post meta.
    		twentytwenty_the_post_meta( get_the_ID(), 'single-bottom' );
    
    		if ( is_single() ) {
    
    			get_template_part( 'template-parts/entry-author-bio' );
    
    		}
    		?>
    
    	</div><!-- .section-inner -->
    
    	<div>
    	<?php
    	?>
    	</div>
    
    	<?php
    
    	// 全ページに表示 : カテゴリメニュー
    	get_template_part( 'template-parts/info-course-end' );
    
    	if ( is_single() ) {
    
    		get_template_part( 'template-parts/navigation' );
    
    	}
    
    	/**
    	 *  Output comments wrapper if it's a post, or if comments are open,
    	 * or if there's a comment number – and check for password.
    	 * */
    	if ( ( is_single() || is_page() ) && ( comments_open() || get_comments_number() ) && ! post_password_required() ) {
    		?>
    
    		<div class="comments-wrapper section-inner">
    
    			<?php comments_template(); ?>
    
    		</div><!-- .comments-wrapper -->
    
    		<?php
    	}
    	?>
    
    </article><!-- .post -->
    

    Font-weight

    font-weightの値は、100から900まで100刻み(未確認、1刻みでも可能かもしれない)で設定できます。

    • 400 : 普通の太さ
    • 700 : bold
    • 普通文字を500すれば、見やすくななる(ブロガーさんの提案)

    https://masaa.net/2018/12/28/post-181227-4/

    編集履歴

    2020/04/08 文言整備、ソース記載、タイトル修正
    2020/05/01 文言整備
    2021/02/25 追記 (「はじめに」)

    関連記事(WordPress, Tag:customize)

  • [WordPress] 親テーマを変更せずテーマをカスタマイズ – 子テーマを作り変更したを加える – 手始めは、content.phpの編集

    [WordPress] 親テーマを変更せずテーマをカスタマイズ – 子テーマを作り変更したを加える – 手始めは、content.phpの編集

    親テーマと子テーマ

    いつまで続くか分からない当サイトの構築ですが、プラグインやphpファイルの変更など、他のblogerさんの記事を参考にさせてもらっていいます。

    今回は、WordPressテーマ: Twenty Twentyを親テーマとして子テーマを作りました。

    テーマの編集

    作った子テーマが有効になっていれば、「テーマの編集」画面の右上にある「編集するテーマを選択」にその子テーマのリストが出てきます。図1のように、twentytwenty_child (この名前は、実質的にフォルダ名)があるので、このテーマが有効化していれば、表示されます。以下、図1の説明です。

    style.cssの編集

    表示の体裁を変更する場合は、style.cssのコードの変更、コードの追加が必要です。以下のコードは、当サイトの目次の体裁を定義したものです。

    /** 見出し
    */
    /* h2
    #contentを付けると左端に表示されるのが、幅に従った左端に改善できる
    */
    
    h1,
    .heading-size-1 {
    	font-size: 3.2rem;
    /*	font-weight: 800;
    	line-height: 1.138888889;
    */
    }
    
    h2 {
    	font-weight:600;
    	font-size:3.0rem;
    	color: #fff;
      background: #2a49a8;
      padding: 15px 30px;
    }
    h3 {
    	font-weight:500;
    	font-size:2.8rem;
    	/* 見出しの飾り */
      padding: 0.25em 0.5em;
      color: #2a49a8;
      background: transparent;
      border-left: solid 50px #2a49a8;
    }
    h4 {
    	font-weight:500;
    	font-size:2.6rem;
    /* 見出しの飾り */
    	border-bottom: solid 3px black;
    	
    }
    h5 {
    	font-weight:500;
    	font-size:2.4rem;
    /* 見出しの飾り */
    	/* border-bottom: solid 3px black; */
    	
    }
    
    h6 {
    	font-weight:500;
    	font-size:2.2rem;
    /* 見出しの飾り */
    	/* border-bottom: solid 3px black; */
    	
    }
    

    content.phpの編集

    表示の構造自体を変更する場合は、content.phpのコードの変更、コードの追加が必要です。

    content.phpが、WordPressにおける投稿や固定ページの表示を行っているメインのphpプログラムです。図1の例では、content(org).phpやcontent([番号])が、確認できると思います。

    これは、プログラミングに際し、僕が格闘した結果の残骸です。捨てられずに残しています。content(org).phpは、オリジナルファイルです。元に戻す場合は、このファイルをcontent.phpに名前を変更したして置き替えます。

    基本的に、子テーマでのこれらの修正は、親テーマの上書きになっているようです。

    ファイルの複製や名前の変更は、WordPressからはできません。端末ソフトを使ってサーバーに入り、コマンドにより名前を変更したり、複製したりする必要があります。

    当サイトでは、自宅のSynology NASにWordPressを導入しているので、Synology NASにログインして、DiskStation Managerのもとで、名前の変更、複製をします。その後、WordPressにログインして、「テーマの編集」画面に入れり、該当するするphpファイルのプログラムの内容を修正・追加していきます。

    修正した後は、左下にある更新ボタンで修正内容を保存します。その結果は、直ぐにblogに反映されるので、サイトをSafariやChromeで表示して確認します。

    このcontent.phpでのコードのミスは、即座に表示を崩していまうことを意味しますが、以下に記述したように元のコードに戻したり、追加したコードを削除して元に戻せば表示も元に戻ります。

    画面が崩しれたりした場合、「テーマの編集」画面から、Ctrl + zにより元に戻して、更新ボタンを押せば、元に戻ります。

    WP テーマ編集
    図1. content.phpの編集
    content.phpの編集と言っても、使用しているThemeごとに異なります。当サイトでは、WorpPress version 5以降で公式テーマになっているTwenty Twentyを使っています。標準のcontent.phpでは、表示のが味気ないので、coverタイプ (content-cover.php)をcontent.phpに置き換えています。同じTwenty Twentyのcontentではが、コードを確認してみるとだいぶ作りが異なっていました。

    functions.phpの編集

    オートセーブとリビジョン機能

    親テーマでは、標準で有効となっている編集時のオートセーブ機能とリビジョン機能ですが、子テーマの「functions.php」にコードを追加することで、無効化することが可能です。以下のリンクをご参照ください。

    macoblogさんより

    https://macoblog.com/wp-writing-autosave/

    まとめ

    親テーマと子テーマの関係性が、まだよくわかっていません。

    • 親テーマと子テーマは、themeフォルダに別フォルダで保管される。
      • 今回の場合、元からあった親テーマである「twentytwenty」と今回作ったフォルダとしての子テーマ「twentytwenty_child」を作りました
    • 編集するfunctions.phpやhead.phpなどのファイルを、親テーマからコピペしておく。
      • 同じ定義のものは、親テーマで定義されるので、小テーマでは削除します。ほとんどが削除されたになります。
    • 親テーマと子テーマの関わりをfunctions.phpに記載とておく。
      • 小テーマが使われるように定義 : 参照
    • 子テーマにない定義、値など
      • 親テーマの定義、値などを小テーマが引き継ぐ
    編集情報
    ID 7726
    2020/01/21 Mr.はりきり
    2020/07/23 追記(concent.phpの編集)

    以上

  • WordPress 5.3 標準テーマ Twenty Twentyに完全移行

    WordPress 5.3 標準テーマ Twenty Twentyに完全移行

    WordPress 5.3とTwenty Twenty

    古いテーマは、メンテナンスや改良が行われなくなるのは世の常。現在までで、Synology NASにWordPressを導入しblogを立ち上げて丁度1年となる。この機にTwenty Twentyにテーマを変更することにした。

    blogを日頃書いている目的の一つに、blogが自分のブレーンたれと、いう気持ちで”知のストック”を蓄積する活動としている。そのため、自分は当然に全ての内容を知っておきたいのだが、ありま公開したくない内容については、どうすべき考えていた。

    今回、Ultimate MemberとUltimate Member – reCAPTCHAの2つのプラグインを導入し、公開したくないカ所を非表示にすることができるようになる。この機能を快適に使うためには、Gutenbergエディターのブロック機能がある方が使いやすくなる。Ultimate Memberの設定->アクセスでGutengergを使用できるようにチェックしておき、Gutenbergでblogを編集している時に、ブロック自体の設定に”UM access Congtrols”で制限(Restrict)することができる。

  • [WordPress] テーマ・カスタマイズ – Twenty Seventyテーマの2カラム表示の幅の拡大 [2019/09/03]

    [WordPress] テーマ・カスタマイズ – Twenty Seventyテーマの2カラム表示の幅の拡大 [2019/09/03]

    はじめに

    WordPressでblogを始めた頃は、先人の投稿を参考にしテーマを「Twenty Seventy」にしていました。2020/08現在は、WordPressのバージョンアップととにも搭載されたシングル・カラムであるTwenty Twentyに変更しています。

    以下の記事は、Twenty Seventyの表示の体裁について、CSSもよく分からないまま、先人の知恵をお借りしてなんとか設定していた頃の記録です(2020/08/25, Mr.Harikiri)

    Twenty Seventyテーマの2カラム化

    以前、使っていたサイトのStyleは、「Twenty Seventeen」でしたが、メインとサイドバーの幅をデフォルト設定から画面いっぱいに広げていました。

    WordPress、CSSなど、全く何もわかっていなかった時期でした。

    iPadで閲覧した時に、デフォルトでは、左右に余白があり有効活用されていませんでしたので、スペースの有効活用の情報収集として、数時間のネットサーフィンの結果、やはり同じような事を考えて、解決されたブロガーさんがおられました。

    以下のコードは、プログ「妻と僕。」さんから頂きました。ありがとうございます。

    設定方法

    WordPress > 左メニュー > 外観 > カスタマイズ > 追加CSS (編集窓にコピペ)
    /*
    * 説明 : widthを効率化する
    */
    @media screen and (min-width: 48em) {
    .wrap {
    max-width: 1100px;/*記事・サイドバー・余白の全幅*/
    padding-left: 2em;/*記事の左余白*/
    padding-right: 2em;/*サイドバーの右余白*/
    }
    .has-sidebar:not(.error404) #primary {
    float: left;
    width: 67%;/*記事幅*/
    }
    .has-sidebar #secondary {
    float: right;
    padding-top: 0;
    width: 29%;/*サイドバー幅*/
    }
    .navigation-top .wrap {
    max-width: 1100px;/*メニューバー幅*/
    padding: 0.75em 3.4166666666667em;
    }
    .site-content {
    padding: 2.5em 0 0;/*メニューバーと記事の間隔*/
    }
    }
    編集履歴
    2019/09/03 Mr.はりきり
    2020/07/28 修正(過去の状況であることを明確に記述)