WordPress

【wordpress】プラグインなし簡単2ステップ!自作ウィジェットの作り方&条件分岐のやり方

スポンサーリンク
WordPress

ウィジェットを作りたい場合、プラグインの”WordPress Popular Posts””Newpost Catch””Custom Sidebars””Display Widgets”などが有名です。 でも、プラグインなしで2ステップで簡単に出来るので紹介します。

自作ウィジェットの作り方

カスタムのウィジェットを登録する(function.php)

※function.phpはコードを間違えると真っ白になります(経験談)ので、バックアップしておきましょう。 function.php

/**
* カスタムでウィジェットを登録
*/
function custom-sidebar_widgets() {
//”custom-sidebar”は任意
register_sidebar(array(
'id' => 'my-sidebar',//ID
'name' => 'ウィジェットページでの表示テキスト',//日本語でOK
'description' => '説明文',//ウィジェットページで表示されます。日本語でOK
'before_widget' => '<aside id="%1$s" class="widget %2$s">',//ウィジェットの内容が入ります
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',//ウィジェットのタイトルが入ります
'after_title' => '</h4>',
));
}
add_action( 'widgets_init', 'custom-sidebar' );//”custom-sidebar”の部分は名前を合わせる

サイドバーに表示させる(sidebar.php)

サイドバーにウィジェットを表示させるので、sidebar.phpに以下を追加します。
sidebar.php

 


<?php if (is_post_type_archive( 'アーカイブ名' ) || is_single( '投稿ページのスラッグ名' )) : ?>
<aside class="widget">
<?php dynamic_sidebar('my-sidebar'); ?>
</aside>
<?php endif; ?>
カスタム投稿のアーカイブ名の場合or投稿ページのスラッグ名の場合、 サイドバーに”my-sidebar”を表示させるという意味です。

条件分岐の書き方

複数条件を書きたい場合

または(OR)の場合は  ”||”
かつ(AND)の場合  ”&&”
でつなげます。

アーカイブを表示する場合

条件指定は各項目によって違いますアーカイブページ(記事一覧ページ)を表示する場合

is_archive()

カスタム投稿タイプの場合のアーカイブを表示する場合

is_post_type_archive()

その他基本的な条件指定

トップページのみ表示させる

is_front_page() && !is_paged()

is_paged()は複数ページの2ページ目以降、”!”は否定(以外)という意味。

投稿ページのみに表示させる

is_single()

以上、ご参考になれば幸いです。

コメント

タイトルとURLをコピーしました