Sponsored Link
WordPressのウィジェットをランダムに出す方法です。
Sponsored Link
カスタマイズしたのをメモがてら…
functions.phpにウィジェットを登録する
ランダムで表示したいウィジェットを登録する。
idを●●●の箇所を全て共通化させる。
語尾にNoをつける。
※分かりやすくNoを使ったけれど、No部分は後で配列化すれば良いので適当につけても良い。
register_sidebar( array( 'name' => __( 'ウィジェット表示名1', 'テーマ名' ), 'id' => '●●●1', 'before_widget' => '<aside>', 'after_widget' => '</aside>', 'before_title' => '<h3>', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' => __( 'ウィジェット表示名2', 'テーマ名' ), 'id' => '●●●2', 'before_widget' => '<aside>', 'after_widget' => '</aside>', 'before_title' => '<h3>', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' => __( 'ウィジェット表示名3', 'テーマ名' ), 'id' => '●●●3', 'before_widget' => '<aside>', 'after_widget' => '</aside>', 'before_title' => '<h3>', 'after_title' => '</h3>', ) );
表示したい箇所にソースを書く
No部分を配列化し、ランダムで表示する変数を作る。
dynamic_sidebar
の●●●の箇所に、
functions.php
でウィジェット登録部分で書いたidの共通部分を記載し、
後ろにランダムで表示する変数を付けるだけ。
$random = array("1","2","3"); $count = count($random); //配列をカウント $random2 = rand(0,$count -1); <?php if ( ! dynamic_sidebar( '●●●' . $random[$random2]) ) : endif; ?>
コンテンツ直下にウィジェットを追加するために、
add_filter('the_content','');
を使って書いたが、
dynamic_sidebar
でも動作します(;´∀`)
使用用途
スマホだと表示すると長くなってしまうコンテンツを、
ランダムで表示することで避けるため。
後にタブ表示でもいいなと思いついた……