web関連
【wordpress】サブループを関数にして使いまわす
同じサブループの処理を何回も書くのあれだよなぁーって思った時の備忘録
参考記事
ほぼ参考記事の通りなんだけど、備忘録がてら書いておく
サブループを関数にして使いまわす方法
出力用コード
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
);
echo getSubloop($args, 'テキストが入る'); ?>
functions.phpに書く用コード
function getSubloop($search, $title) {
$the_query = new WP_Query($search);
$code = '';
if($the_query->have_posts()) {
$code .= '<div class="inner">'.PHP_EOL;
$code .= '<h1>'.$title.'</h1>'.PHP_EOL;
while($the_query->have_posts()) {
$the_query->the_post();
$code .= '<a class="link" href="'.get_the_permalink().'">'.PHP_EOL;
$code .= '<h2 class="title">'.get_the_title().'</h2>'.PHP_EOL;
$code .= '<div class="text">'.get_the_content().'</div>'.PHP_EOL;
$code .= '</a>'.PHP_EOL;
}
$code .= '</div><!-- /.inner -->'.PHP_EOL;
}
wp_reset_postdata();
return $code;
}
参考記事から自分がわかりやすいように削った
PHP_EOL
は改行コードみたい
ただ、htmlの
みたいにhtmlを改行するためのものではないみたい
あくまでコンソール上での改行するもののよう
あまりサブループを使いまわすような事ないけどこういう書き方もあるんだということでメモ