Intuitive Custom Post Order のソースを確認したところ、グローバル変数の $args が存在した場合、そちらを優先するようになっていました。
Intuitive Custom Post Order ver.2.1.0 リリースノート の「ユーザ指定のクエリの優先」の項に記述例がありますが、新着情報を取得するクエリのパラメーターを $args で代入しておくと、新着順に取得することができそうです。
プラグインの実装的には、もう少し改善の余地がありそうで、グローバル変数を参照するよりは、pre_get_posts フック内で、$wp_query->get( ‘orderby’ ); で指定がなされていたら、並び替えをしないなどの処理にした方がよさげですね。
jim912様
ご回答ありがとうございます。
自己の知識が不十分で、仰って頂いた事がニュアンスでしか
理解できておりません(特にフック関係)事をお詫び申し上げます。
分からない也に知らべまして、以下の様にしてみたのですが、
並び順の状況は変わっておりません。
仰って頂いた意図が汲み取れておりませんでしょうか?
<?php
$args = array(
'orderby' => 'modified',
'order' => 'DESC',
'numberposts' => '20',
);
global $post; $lastposts = get_posts( $args ); //表示件数とカテゴリID
foreach($lastposts as $post) :
setup_postdata($post);
$post_title = $post->post_title;
if(mb_strlen($post_title)>40) { //記事タイトルの文字数
$post_title = mb_substr($post_title,0,40).'...';
}
?>
<dl class="info_sample">
<dt><?php echo date("Y.m.d ", strtotime($post->post_date)); ?></dt>
<dd>
<?php
$days=30; //Newをつける日数
$today=date_i18n('U'); $entry=get_the_time('U');
$diff1=date('U',($today - $entry))/86400;
if ($days > $diff1){
echo'<font color="ff0000">New!</font>';
}
?>
<a href="<?php echo get_permalink( get_the_ID() ); ?>" id="post-<?php the_ID(); ?>"> <?php echo $post_title; ?></a> ご参加いただきました。</dd>
</dl>
<?php endforeach; ?>
並び順以外は問題なく、『numberposts』なども効いています。
何卒よろしくお願い致します。
他にも方法を考えているのですが、
固定ページのみ、『Intuitive Custom Post Order』を切る方法はありますか?
jim912様
思い通りの並び順になりました!!
大変助かりました!誠にありがとうございました!