WordPress4.7から使えるようになったスターターコンテンツ。
自力でカスタマイズすることもできるのですが、サンプルコードがあまり見当たらなかったので、自分用メモにしてたのアップします。
##投稿を設定する
固定ページを追加する
home / about / contact / blogの固定ページがそれぞれ存在しない場合、自動で生成する。
オプションを指定しない場合、コアに定義された規定のタイトルと本文だけが設定される。
(標準で定義されている固定ページはhome, about, contact, blog, news, homepage-sectionの6種類)
add_theme_support(
'starter-content', [
'posts' => [
'home',
'about',
'contact',
'blog',
],
]);
####Blog記事を1つ用意したい場合のサンプル
追加分のBlog記事については、カスタマイザー上ではプレビューできないが、適用後に反映される。
add_theme_support(
'starter-content', [
'posts' => [
'custom' => [
'post_type' => 'post',
'post_title' => 'Hello, Dolly',
'post_excerpt' => 'This is a example Starter Contnet Blog post.',
'post_name' => 'example-blog-post',
'post_content' => "Hello, Dolly
Well, hello, Dolly
It's so nice to have you back where you belong
You're lookin' swell, Dolly
I can tell, Dolly
You're still glowin', you're still crowin'
You're still goin' strong
We feel the room swayin'
While the band's playin'
One of your old favourite songs from way back when
So, take her wrap, fellas
Find her an empty lap, fellas
Dolly'll never go away again
Hello, Dolly
Well, hello, Dolly
It's so nice to have you back where you belong
You're lookin' swell, Dolly
I can tell, Dolly
You're still glowin', you're still crowin'
You're still goin' strong
We feel the room swayin'
While the band's playin'
One of your old favourite songs from way back when
Golly, gee, fellas
Find her a vacant knee, fellas
Dolly'll never go away
Dolly'll never go away
Dolly'll never go away again",
'comment_status' => 'closed',
]
],
]);
##メディアファイルを設定する
###Aboutページにサムネイル画像を設定する
add_theme_support( 'starter-content', array(
'attachments' => array(
'featured-image-logo' => array(
'post_title' => 'Featured Logo',
'post_content' => 'Attachment Description',
'post_excerpt' => 'Attachment Caption',
'file' => 'assets/images/featured-logo.jpg',
),
),
'posts' => array(
'about' => array(
'thumbnail' => '{{featured-image-logo}}',
),
),
);
##フロントページを設定する
options
でフロントページを設定できる。
{{NAME}}
でNAMEにposts
の値を入れることができる。
####home``blog
の固定ページを作成して、固定フロントページはhome / Blogはblogに設定する
add_theme_support(
'starter-content', [
'options' => [
'show_on_front' => 'page',
'page_on_front' => '{{home}}',
'page_for_posts' => '{{blog}}',
],
'posts' => [
'home',
'blog'
],
]);
##ナビゲーションを設定する
add_theme_support(
'starter-content', [
'nav_menus' => [
'sample_navigation' => [
'name' => __('Sample Navigation', 'id'),
'items' => [
'home_link',
'page_about',
'custome_page' => [
'title' => 'Contact Page',
'url' => 'page_contact',
],
'custome_link' => [
'title' => 'Sample',
'url' => 'http://google.com',
],
],
]
],
]);
##ウィジェットを設定する
add_theme_support(
'starter-content', [
'widgets' => [
'home-content-top-widget-area' => [
'search',
'archives',
'text_custom' => [
'text',
[
'title' => 'Pre-hydrated text widget.',
'text' => 'Sample'
]
],
'meta_custom' => [
'meta',
[
'title' => 'Pre-hydrated meta widget.',
]
],
],
],
]
);
##プラグインで追加されたウィジェットを設定する(VK_Profile)
// Plugin widget added using filters
function myprefix_starter_content_add_widget( $content, $config ) {
if ( isset( $content['widgets']['home-content-top-widget-area'] ) ) {
$content['widgets']['front-side-top-widget-area']['b_custom_widget'] = array(
'wp_widget_vkexunit_profile', array(
'label' => 'Sample profile widget',
'facebook' => 'http://facebook.com',
'profile' => 'profile content'
),
);
}
return $content;
}
add_filter( 'get_theme_starter_content', 'myprefix_starter_content_add_widget', 10, 2 );