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 レスポンシブ テンプレート 元にサイトを作ってみる その1

「レスポンシブ テンプレート の メニューやブログの設置」の記事では、メニューやブログの設置例をやっ

記事を読む

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 自作フォーム (チェックボックスなど)

WordPress 自作フォーム その3(チェックボックスなど)

以前、WordPress 自作フォーム その1の記事で Wordpress で自作フォームを作ってみ

記事を読む

WordPress Twenty Seventeen function.php

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

WordPress の最低限の機能だけのシンプルなテンプレートが欲しかったので、作っておくことにしま

記事を読む

WordPress プラグイン「 Search Everything 」

WordPressでカテゴリー名も検索にひっかけるプラグイン「Search Everything」

WordPressでカテゴリーも検索にひっかけるプラグイン「Search Everything 8.

記事を読む

Wordpress VR Test

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

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

記事を読む

WordPress カレンダー カスタマイズ

WordPress カレンダー カスタマイズ

WordPressでカレンダーの表示部分をいじってみようかと思います。 どうやら、カレンダー関

記事を読む

WordPress Warning エラー

WordPress フォルダー・ファイル系の関数 is_dir や opendir や exif_imagetype で Warning エラー

Wordpress の管理画面でフォルダーの中身を読み込む関数 opendir でエラー Word

記事を読む

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

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

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

記事を読む

PHP WordPress wordpress テンプレート

Message

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

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

前回の続きです。 次のスターターコンテンツは、今回のシンプルテン

WordPress Twenty Seventeen function.php
WordPress twentyseventeen の function.php を見る – その1

WordPress の最低限の機能だけのシンプルなテンプレートが欲しか

WordPress Warning エラー
WordPress フォルダー・ファイル系の関数 is_dir や opendir や exif_imagetype で Warning エラー

Wordpress の管理画面でフォルダーの中身を読み込む関数 ope

Wordpress 自作フォーム (チェックボックスなど)
WordPress 自作フォーム その3(チェックボックスなど)

以前、WordPress 自作フォーム その1の記事で Wordpre

Javascript ノード の取得や挿入
Javascript ノードの取得や挿入

ノードの取得 ノードの取得(ダイレクトアクセス) document

→もっと見る

にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ PHPへ にほんブログ村 IT技術ブログ WordPressへ
にほんブログ村 FC2 Blog Ranking
PAGE TOP ↑