Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Starter Contentで WordPress構築を効率化

Starter Contentで WordPress構築を効率化

#wbkyoto

Hidetaka Okamoto
PRO

February 12, 2017
Tweet

More Decks by Hidetaka Okamoto

Other Decks in Technology

Transcript

  1. 4UBSUFS$POUFOUͰ
    8PSE1SFTTߏஙΛޮ཰Խ
    8PSE#FODIژ౎

    View Slide

  2. w 8 P S E # F O D I ژ ౎ Ϟ σ Ϩ ʔ λ
    w 8 P S E 1 S F T T ೔ ຊ ޠ ϑ Υ ʔ ϥϜ ੈ ࿩ ໾
    w 8 P S E $ B N Q ,Z P U P ࣮ ߦ ҕ һ ௕
    )JEFUBLB0LBNPUP
    %JHJUBMDVCF%FWFMPQFS

    View Slide

  3. ɾελʔλʔίϯςϯπͱ͸ʁ
    ɾελʔλʔίϯςϯπͷ࢖͍ํ
    ɾίʔυαϯϓϧͷ঺հ
    ࠓ೔ͷྲྀΕ

    View Slide

  4. ελʔλʔίϯςϯπͱ͸

    View Slide

  5. 5XFOUZ4FWFOUFFO 81σϑΥϧτςʔϚ

    IUUQTXPSEQSFTTPSHUIFNFTUXFOUZTFWFOUFFO

    View Slide

  6. 8PSE1SFTT্ཱͪ͛௚ޙͷঢ়ଶ
    ϒϩάهࣄҰཡ͕දࣔ͞ΕͨʮσϑΥϧτঢ়ଶʯ

    View Slide

  7. ؅ཧը໘͔ΒΧελϚΠζը໘Λ։͘
    ϓϨϏϡʔͷαΠτද͕͖ࣔͬ͞ͱҟͳ͍ͬͯΔ

    View Slide

  8. ͦͷ··อଘ͢Δͱ
    ϓϨϏϡʔը໘ͰݟͨαΠτߏ੒ʹ੾ΓସΘ͍ͬͯΔ

    View Slide

  9. ͜Ε͕
    ελʔλʔίϯςϯπ

    View Slide

  10. ݻఆϖʔδ΍
    ϝχϡʔ
    ΢ΟδΣοτ΋
    ࣗಈੜ੒

    View Slide

  11. w ྑͦ͞͏ͳςʔϚΛ୳ͯ͠Πϯετʔϧ
    w εΫϦʔϯγϣοτͱॳظද͕ࣔҧ͏
    w εΫϦʔϯγϣοτͷදࣔʹؤு͚ͬͯۙͮΔ
    w ʮࢥͬͯͨͷͱҧ͏͔Βଞͷʹͯ͠ʯ
    w ςʔϚΛม͑Δ
    w ʮ͖ͬ͞ͷςʔϚͱઃఆํ๏ҧ͏Μ͚ͩͲʯ
    ͜Ε·Ͱͷ8PSE1SFTTαΠτ੍࡞

    View Slide

  12. l
    z
    ΊΜͲ͍͔͘͞Β
    ࣗ෼Ͱ࡞ͬͪΌ͑

    View Slide

  13. w ʮ8PSE1SFTTߋ৽ͨ͠ΒյΕ·ͨ͠ʯ
    w ʮϓϥάΠϯ௥Ճͨ͠ͷʹදࣔมΘΜͳ͍ʯ
    w ʮͳΜ͔όάͬͯ·͢ʯ
    w ʮͦΖͦΖσβΠϯม͍͑ͨ͠ɺอक಺ͰϤϩʯ
    ࣗ෼Ͱ࡞ͬͨ݁Ռ

    View Slide

  14. ΊΜͲ͍͘͞
    ͭΒ͍

    View Slide

  15. l
    z
    ͏ͪอक΍Μͳ͍͔Β
    େৎ෉ͬ͢

    View Slide

  16. ΢ΣϒαΠτʹΑΔ঎඼ͷड஫γεςϜΛར༻ͨ͠ސ٬
    ͷΫϨδοτΧʔυ৘ใ͕ྲྀग़ͨ͠
    ࣄނʹ͖ͭɺγεςϜͷઃܭɺ੡࡞ɺอक౳ͷडୗۀऀ
    ͷ࠴຿ෆཤߦʹجͮ͘ँࡑɾ໰߹ͤ
    ౳ͷސ٬ରԠඅ༻ɺച্ଛࣦ౳ͷଛ֐ഛঈ੹೚͕ߠఆ͞
    Εͨࣄྫ
    ౦ژ஍ํࡋ൑ॴ൑ܾʗฏ੒̎̏೥ʢϫʣୈ̏̎̌̒̌߸
    ฏ੒̎̒೥݄̍̎̏೔
    http://www.softic.or.jp/semi/2014/5_141113/op.pdf

    View Slide

  17. ೲ඼෺ʹ
    ط஌ͷ੬ऑੑ͕͋Δͱ
    ੹೚໰୊ʹͳΓ͏Δ

    View Slide

  18. https://www.ipa.go.jp/security/ciadr/vul/20140619-oldcms.html

    View Slide

  19. https://getshifter.io/

    View Slide

  20. View Slide

  21. 8PSE1SFTTͷ
    ॳظηοτΞοϓ͸
    ͘͢͝େมͩͬͨ

    View Slide

  22. l
    z
    The part of
    NUX(new user experience.)
    that I would like to start tackling in 4.7
    is
    initial site setup
    https://helen.wordpress.com/2016/07/13/theme-disconnect-and-discontent/

    View Slide

  23. 5XFOUZ4FWFOUFFO 81σϑΥϧτςʔϚ

    IUUQTXPSEQSFTTPSHUIFNFTUXFOUZTFWFOUFFO

    View Slide

  24. w ྑͦ͞͏ͳςʔϚΛ୳ͯ͠Πϯετʔϧ
    w εΫϦʔϯγϣοτͷ಺༰͕ϓϨϏϡʔͰ͖Δ
    w ʮࢥͬͯͨͷͱҧ͏͔Βଞͷʹͯ͠ʯ
    w ςʔϚΛม͑Δ
    w εΫϦʔϯγϣοτͷ಺༰͕ϓϨϏϡʔͰ͖Δ
    w ؾܰʹςʔϚΛࢼͤΔ
    ελʔλʔίϯςϯπͷ͋Δ8PSE1SFTT

    View Slide

  25. ελʔλʔίϯςϯπ
    ͷ
    ࢖͍ํ

    View Slide

  26. ؅ཧը໘͔ΒΧελϚΠζը໘Λ։͚ͩ͘
    ελʔλʔίϯςϯπ͕͋Δ৔߹͸ɺϓϨϏϡʔը໘ͷද͕ࣔσϑΥϧτ͡Όͳ͘ͳΔ

    View Slide

  27. 5JQTελʔλʔίϯςϯπ͸ॳظঢ়ଶͷΈ
    $ wp option update fresh_site true
    or

    w [email protected]ͷ[email protected]Ͱ൑ఆ͍ͯ͠Δɻ
    w Ұ౓αΠτΛฤू͢Δͱར༻Ͱ͖ͳ͍ɻ
    w ΋͏Ұ౓ར༻͢ΔͨΊʹ͸[email protected]Λมߋ͢Δ

    View Slide

  28. ελʔλʔίϯςϯπ͸
    ίΞʹఆٛ͞Ε͍ͯΔͷͰɺ
    ͲͷςʔϚͰ΋ར༻Մೳ

    View Slide

  29. ίΞʹఆٛ͞Ε͍ͯΔ
    IUUQTDPSFUSBDXPSEQSFTTPSHCSPXTFSUSVOLTSDXQJODMVEFT
    UIFNFQIQ-
    $core_content = array(
    'widgets' => array(
    'text_about' => array(
    'text',
    array(
    'title' => _x( 'About This Site', 'Theme starter content' ),
    'text' => _x( 'This may be a good place .’ ),
    )
    ),

    View Slide

  30. 5XFOUZ4JYUFFOʹελʔλʔίϯςϯπΛద༻
    ΧελϚΠζը໘ͰςʔϚΛ੾Γସ͑ͳ͍ͱɺXQPQUJPO͕ߋ৽͞Εͯදࣔ͞Εͳ͍

    View Slide

  31. ࠓͷͱ͜Ζɺ
    ελʔλʔίϯςϯπ
    ରԠςʔϚ
    Λௐ΂Δํ๏͸ͳ͍

    View Slide

  32. ελʔλʔίϯςϯπ
    ͷ
    ίʔυͷ࿩

    View Slide

  33. ஫ҙ
    εϥΠυͷؔ܎্ɺ
    εϥΠυ্ͷαϯϓϧίʔυ͸
    ෆ׬શͰ͢ɻ

    View Slide

  34. http://bit.ly/2l488BF

    View Slide

  35. جຊతͳॻ͖ํ
    [email protected]@TVQQPSU bTUBSUFSDPOUFOU` ࿈૝഑ྻ

    add_theme_support(
    'starter-content',
    [
    'posts' => [],
    'attachments' => [],
    'options' => [],
    'nav_menus' => [],
    'widgets' => []
    ]
    );

    View Slide

  36. ݻఆϖʔδΛ௥Ճ͢Δ
    IPNFBCPVUDPOUBDUCMPHͷݻఆϖʔδ͕
    ͦΕͧΕଘࡏ͠ͳ͍৔߹ʹࣗಈͰੜ੒͢Δɻ
    add_theme_support(
    'starter-content', [
    'posts' => [
    'home',
    'about',
    'contact',
    'blog',
    ],
    ]);

    View Slide

  37. هࣄ಺༰Λৄࡉʹఆٛ͢Δ
    QPTUTͷத਎Λ࿈૝഑ྻʹ͢Δͱɺهࣄ಺༰ΛઃఆͰ͖Δ
    add_theme_support(
    'starter-content', [
    'posts' => [
    ‘custom_post' => [
    'post_type' => 'post',
    'post_title' => 'Hello, Dolly',
    'post_name' => 'example-blog-post',
    'post_content' => "Hello, Dolly",
    'comment_status' => 'closed',
    ]

    View Slide

  38. ϑΝΠϧΛΞοϓϩʔυ͢Δ
    BUUBDIFNFOUTͷ഑ྻΩʔΛ\\,&:^^ͷΑ͏ʹ͢Δ͜ͱͰɺ
    UIVNCOBJMΛઃఆͰ͖Δɻ
    add_theme_support( 'starter-content', array(
    'attachments' => array(
    'featured-image-logo' => array(
    'post_title' => 'Featured Logo',
    'file' => 'assets/images/featured-logo.jpg',
    ),
    ),
    'posts' => array(
    'about' => array(
    'thumbnail' => '{{featured-image-logo}}',
    ),

    View Slide

  39. ϑϩϯτϖʔδΛઃఆ͢Δ
    lPQUJPOTzʹ\\[email protected]/".&^^Λ౉ͯ͠ϑϩϯτϖʔδΛઃఆͰ͖Δ
    add_theme_support(
    'starter-content', [
    'options' => [
    'show_on_front' => 'page',
    'page_on_front' => '{{home}}',
    'page_for_posts' => '{{blog}}',
    ],
    'posts' => [
    'home',
    'blog'
    ],

    View Slide

  40. ϝχϡʔΛઃఆ͢Δ
    [email protected]ͰϝχϡʔΛఆٛͰ͖Δ
    [email protected]"(&/".&zΛࢦఆ͢ΔͱɺݻఆϖʔδʹϦϯΫͰ͖Δ
    add_theme_support(
    'starter-content', [
    'nav_menus' => [
    'sample_navigation' => [
    'name' => __('Sample Navigation', 'id'),
    'items' => [
    'home_link',
    'page_about',

    View Slide

  41. ϝχϡʔΛઃఆ͢Δ̎
    ࿈૝഑ྻͰUJUMFΛઃఆՄೳɻ
    63-ʹ͢Δͱ֎෦αΠτΛࢦఆͰ͖Δ
    'items' => [
    'custome_page' => [
    'title' => 'Contact Page',
    'url' => 'page_contact',
    ],
    'custome_link' => [
    'title' => 'Sample',
    'url' => 'http://google.com',
    ],
    ],

    View Slide

  42. ΢ΟδΣοτΛઃఆ͢Δ
    lXJEHFUTzʹz΢ΟδΣοτ*%zΛΩʔͱͨ͠࿈૝഑ྻͰ
    ΢ΟδΣοτΛઃఆͰ͖Δ
    add_theme_support(
    'starter-content', [
    'widgets' => [
    'home-content-top-widget-area' => [
    'search',
    'archives',
    ],
    ],
    ]
    );

    View Slide

  43. ΢ΟδΣοτΛઃఆ͢Δͦͷ̎
    ΢ΟδΣοτͷୈҰҾ਺͸΢ΟδΣοτλΠϓ
    ୈೋҾ਺ʹ΢ΟδΣοτ಺༰ΛఆٛͰ͖Δ
    'text_custom' => [
    'text',
    [
    'title' => 'Pre-hydrated text widget.',
    'text' => 'Sample'
    ]
    ],
    'meta_custom' => [
    'meta',
    [
    'title' => 'Pre-hydrated meta widget.',

    View Slide

  44. جຊతʹ͸ɺ
    ࡞੒ͨ͠ςʔϚͷ
    GVODUJPOTQIQʹॻ͘

    View Slide

  45. ϓϥάΠϯ͔Βελʔλʔίϯςϯπ
    add_action('after_setup_theme', function () {
    add_theme_support(
    'starter-content',
    [
    [email protected]@UIFNFͷϑοΫΛར༻͢Δɻ
    ϓϥάΠϯ༗ޮԽ࣌ʹ
    [email protected] [email protected]

    ͨ͠΄͏͕͍͍͔΋

    View Slide

  46. ϓϥάΠϯ͕࡞Δ΢ΟδΣοτΛ࢖͏
    [email protected] [email protected]@[email protected]
    ͷϑΟϧλʔΛ࢖͏
    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 );

    View Slide

  47. w ελʔλʔίϯςϯπͰॳظίϯςϯπΛఆٛ
    w Α͘ॻ͘ίϯςϯπ΍ઃఆΛίʔυԽͰ͖Δ
    w ࣗ෼༻ελʔλʔίϯςϯπ͕͋Δͱศར͔΋
    w ελʔλʔίϯςϯπʹ߹ΘͤͨςʔϚʹظ଴
    ·ͱΊ

    View Slide