WordPressで日替わりソートで表示するなど


function.phpなどに下記のように曜日によって違うorderbyを投げるというテク。色々と考えたけど意外とこれがいいのではないかと。ASCとDESCを入れ替えるだけでも結構違いますし。randを投げるとさすがに毎回違いすぎますし。

function get_orderby(){
    
    $orderbys = array(
        array('order' => '', 'orderby' => 'date'),
        array('order' => '', 'orderby' => 'menu_order'),
        array('order' => 'DESC', 'orderby' => 'modified'),
        array('order' => '', 'orderby' => 'title'),
        array('order' => '', 'orderby' => 'none'),
        array('order' => '', 'orderby' => 'ID'),
        array('order' => 'ASC', 'orderby' => 'modified'),
    );
    return $orderbys[date('w')];
    
}

使い方は簡単。

$orderby = get_orderby();

$args = array(
    'post_type' => 'page',
    'numberposts' => -1,
    'order' => $orderby['order'],
    'orderby' => $orderby['orderby'],
    'posts_per_page' => 12
);
$child_posts = get_posts( $args );

みたいな感じで。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です