PC忘備録WordPress

【wordpress】コピー可!プラグインなし自作ウィジェット。簡単2ステップ!作り方&条件分岐方法

スポンサーリンク
※当サイトではアフェリエイト広告を利用して商品を紹介しています。
※当サイトではアフェリエイト広告を利用して商品を紹介しています。
PC忘備録

ウィジェットを作りたい場合、プラグインの”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をコピーしました