WordPress twentyseventeen の function.php を見る – その2

公開日: : PHP, WordPress, wordpress テンプレート

WordPress Twenty Seventeen function.php

前回の続きです。

次のスターターコンテンツは、今回のシンプルテンプレートには不要ですが、よくわかってなかったので、ちょっと詳しく見てみました。

スターターコンテンツ starter-content

スターターコンテンツの設定は、4.7以降の twentyseventeen から使えるみたいです。
WordPress Twenty Seventeen スターターコンテンツ
スターターコンテンツは、ワードプレス新規インストールで、外観>カスタマイズ>公開ボタン を押すと反映されます。

$starter_content = array(
'widgets'     => array(・・・(省略)・・・),//ウィジェット
'posts'       => array(・・・(省略)・・・),//自動で作られる固定ページのサムネイルの画像の設定です。
'attachments' => array(・・・(省略)・・・),//サムネイルの画像の具体的なパス
'options'     => array(・・・(省略)・・・),//オプション
'theme_mods'  => array(・・・(省略)・・・),//トップページの表示順番
'nav_menus'   => array(・・・(省略)・・・),//ナビゲーション
);
$starter_content = apply_filters( 'twentyseventeen_starter_content', $starter_content );
add_theme_support( 'starter-content', $starter_content );

上記で省略したウィジェットの所のソースを見てみます。

'widgets' => array(
	// Place three core-defined widgets in the sidebar area.
	'sidebar-1' => array(
		'text_business_info',
		'search',
		'text_about',
	),
	// Add the core-defined business info widget to the footer 1 area.
	'sidebar-2' => array(
		'text_business_info',
	),
	// Put two core-defined widgets in the footer 2 area.
	'sidebar-3' => array(
		'text_about',
		'search',
	),
),

外観>カスタマイズ>ウィジェットを見てみると、この3つが既に設定されています。

ライブプレビューのナビゲーションメニューのブログを押して、ブログページを見てみると、sidebar-1 も表示されています。

スターターコンテンツが表示しない場合

このスターターコンテンツは、新規で4.7以降をインストールしないと動きません。

何かを更新しても消えてしまいます。
例えば記事を何か投稿したとたん動かなくなります。
既存の WordPress を4.7以降にバージョンアップしてもスターターコンテンツは反映されていません。

スターターコンテンツは、 optionフィールドの fresh_site が有効(値:1)だと動くようにとなっています。
(DBでいうと、wp_options テーブルの fresh_site が0だと動きません。)

fresh_site が有効かどうか確認するには、function.php の一番上のところでもいいので、以下を入れて確認してみるとはやいかもしれません。

echo get_option( 'fresh_site' );exit;

サイトにアクセスして、0 が表示されてる場合、スターターコンテンツは動きません。

全てをインストールし直せばもちろん fresh_site は 1 になりますが、0 の状態からスターターコンテンツを試してみたい場合は、function.php に以下を書けば、一応有効が試せます。

update_option('fresh_site',1);

一度公開ボタンを押してスターターコンテンツを有効にしてしまうと、固定ページも作られてしまうので、function.php をいじりたい時は、この固定ページも削除してからやればさらに反映される所も増えるかと思います。

ただ、fresh_site でわざわざ分岐をしているということは、何か不具合が起こる可能性があるということです。

DBもリセットしなくてはいけない可能性もあるので、新規インストール時以外は、注意も必要です。

スターターコンテンツを定義している wp-includes/theme.php の get_theme_starter_content() を見て、デフォルトで定義してあるものをまとめてメモしておきます。

スターターコンテンツ widgets デフォルト定義

text_business_info 会社概要(テキストエリアで、アクセスなどの会社概要を入力出来るようになっている。)
text_about このサイトについて(テキストエリアで、このサイトについてなどのテキスト情報を入力出来るようになっている。)
archives アーカイブ(タイトルのみを入力)
calendar カレンダー(タイトルのみを入力)
categories カテゴリ(タイトルのみを入力)
meta メタ(タイトルのみを入力)
recent-comments 最近のコメント(タイトルのみを入力)
recent-posts 最近の投稿(タイトルのみを入力)
search 検索(タイトルのみを入力)

スターターコンテンツ nav_menus デフォルト定義

link_home ホーム
page_home ページ
page_about 会社概要
page_blog ブログ
page_news ニュース
page_contact お問い合わせ
link_email イーメール
link_facebook SNS:フェイスブック
link_foursquare SNS:フォースクエア
link_github SNS:ギットハブ
link_instagram SNS:インスタ
link_linkedin SNS:リンクトイン
link_pinterest SNS:ピンタレスト
link_twitter SNS:ツイッター
link_yelp ローカルビジネスレビューサイト:イェルプ
link_youtube ユーチューブ

スターターコンテンツ posts デフォルト定義

home ホーム
about 会社概要
contact お問い合わせ
blog ブログ
news ニュース
homepage-section ホームページセクション

抜粋文表示 excerpt_more フックなど

ここからは、またざっくりメモしておきます。

コンテツ幅の設定

function twentyseventeen_content_width() {
・・・(省略)・・・
}
add_action( 'template_redirect', 'twentyseventeen_content_width', 0 );

コンテツ幅の設定で、1カラムと2カラムで処理を分けています。

はじめ1カラムと2カラムの設定ってどこだろう、って思いました。

カスタマイザーで、固定ページを選択すると、「テーマオプション」というメニューが出てきますので、そこから選択出来ます。
twentyseventeen 2カラム設定

フォントの設定

function twentyseventeen_fonts_url() {
・・・(省略)・・・
}
function twentyseventeen_resource_hints( $urls, $relation_type ) {
・・・(省略)・・・
}
add_filter( 'wp_resource_hints', 'twentyseventeen_resource_hints', 10, 2 );

ウィジェットの設定

function twentyseventeen_widgets_init() {
・・・(省略)・・・
}
add_action( 'widgets_init', 'twentyseventeen_widgets_init' );

抜粋文表示(MOREリンク)

抜粋文表示 the_excerpt(); の変更。

function twentyseventeen_excerpt_more( $link ) {
・・・(省略)・・・
}
add_filter( 'excerpt_more', 'twentyseventeen_excerpt_more' );

no-jsクラス

JavaScriptが有効でない場合の、no-jsクラスを使用する時。

function twentyseventeen_javascript_detection() {
・・・(省略)・・・
}
add_action( 'wp_head', 'twentyseventeen_javascript_detection', 0 );

トラックバックの設定

function twentyseventeen_pingback_header() {
・・・(省略)・・・
}
add_action( 'wp_head', 'twentyseventeen_pingback_header' );

だいたい書いたので、今回はこの辺で終わります。

関連記事

WordPress レスポンシブ テンプレート

WordPress レスポンシブ テンプレート の メニューやブログの設置

前回の 「WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダ

記事を読む

Wordpress VR Test

WordPress で VR させて、360°のパノラマ画像を表示する

WordPress.com内ショートコードで VR させる WordPress.com内で、VR(

記事を読む

Wordpress 自作フォーム 2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)

WordPress 自作フォーム その2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)

前回(WordPress 自作フォーム 1)のつづきです。 今回は細かいところや注意点とエラーなど

記事を読む

Wordpress 自作フォーム

WordPress 自作フォーム その1(サンプルと設置)

Wordpress でプラグインを使わずにフォームをやってみます。 簡単に名前、メールアドレス、メ

記事を読む

WordPress レスポンシブ テンプレート 元にサイトを作ってみる その2

DEMO を見る カスタム投稿タイプ functions.php 今回は3つのリストメニュ

記事を読む

WordPress の PHP をちょっと見てみよう Ⅱ

WordPress の PHP をちょっと見てみよう Ⅱ

前記事の続きで、wp-settings.php の68行目あたりから見ていきます。 <今回のピ

記事を読む

WordPress レスポンシブ テンプレート

WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード

WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード

記事を読む

MVCの典型的な相関図

PHPフレームワークについて

フレームワークとは? 開発する際に頻繁に必要とされる汎用的な機能をまとめて提供している、アプリケー

記事を読む

WordPress PHP

WordPress の PHP をちょっと見てみよう Ⅰ

WordPress には、たくさんのファイルが入っています。 ここではテーマ内ではなく、トップ

記事を読む

レンタルサーバでWordPressを設置してみよう!

WordPress.com 内に、ブラウザだけで無料でサイトを作成出来きるサービスもありますが、Wo

記事を読む

PHP WordPress wordpress テンプレート

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Javascript let const アロー関数 クラス
Javascript ES5,6 の新機能(letとconst,アロー関数,クラスなど)

ESとはECMASCriptの略で、ECMA という国際的な標準化機関

Strict モード JavaScript
Javascript Strictモード “use strict”;

Strict モード(厳格モード) Strict モードとは、ECM

CodeIgniter インストール
Codeigniter インストールとバージョンアップ2→3 PHP 5→7 メモ

Codeigniter インストール Codeigniter をサイ

wordpress カスタム投稿を一覧(ループ)で表示する
wordpress カスタム投稿を一覧(ループ)で表示する

カスタム投稿を一覧で表示する方法がいろいろあります。 query_p

wordpress カスタム投稿で 2ページ目以降が404
wordpress カスタム投稿で 2ページ目以降が404になってしまう

wordpress のカスタム投稿で、ニュースのページを作っていました

→もっと見る

    • 202007
      Mon Tue Wed Thu Fri Sat Sun
      12345
      6789101112
      13141516171819
      20212223242526
      2728293031
    にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ PHPへ にほんブログ村 IT技術ブログ WordPressへ
    にほんブログ村 FC2 Blog Ranking
    PAGE TOP ↑