"showposts" =>"12",
は、"showposts"=>12,
ですね。ダブルクオーテーション不要です。
あと、showpostsはdeprecatedになっていますので、
posts_per_page=>12
にされる方がよいと思います。
ikaringさま
早速のコメントありがとうございます!
アドバイスいただきましたようにダブルクォーテーションを削除し、推奨される書き方に変更いたしました。
また、12のあとにうっかりカンマをつけてしまっておりましたのでそちらも削除いたしました。
ですが、やはり並べ替えはできても全カテゴリ記事が表示される形となってしまいます。
query_postsなしだとそのカテゴリの記事が表示されるのは確認してあります。
先ほどループ内は長いので省略させていただいたのですが、そのなかにも条件分岐などがありますので、それとの兼ね合いで動作しないのかもしれません。
一度見ていただけますでしょうか。
当方デザイナー職でphpの知識がないのですが、今回裏側までつくらなければならなくなり、いろいろ調べながら付け焼き刃で書いているため、むちゃくちゃな書き方になっているのかもしれません…。
<?php
query_posts(
array(
'meta_key'=>'t_date',
'orderby' => 'meta_value',
'order' => 'DESC',
'posts_per_page' => 12
)
);
?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<div class="post">
<div class="thum"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img src="<?php the_field("img-01", $post->ID); ?>" alt="<?php the_title(); ?>"></a></div>
<div class="post-inner">
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<div class="description">
<dl class="property">
<dt>Date:</dt><dd class="date"><?php echo get_post_meta($post->ID , 't_date' ,true); ?> - <?php echo get_post_meta($post->ID , 'e_date' ,true); ?></dt>
<dt>Area:</dt><dd class="area">
<?php $cats = get_the_category();
$exclude = array(4,5,6,9,17,18);
foreach((array)$cats as $cat)
if(!in_array($cat->cat_ID, $exclude))
echo '<a href="' . get_category_link($cat->cat_ID) . '">' . $cat->cat_name . '</a>'; ?>
</dd>
<dt class="brand">Brand:</dt>
<dd>
<?php
$posttags = get_the_tags();
if ($posttags) {
foreach ($posttags as $tag) {
echo '<a href="' . get_bloginfo('url') . '/brand/' . $tag->name . '">' . $tag->name . '</a> ';
}
} ?>
</dd>
</dl>
<ul class="property">
<?php $cats = get_the_category();
$exclude = array(6,7,8);
foreach((array)$cats as $cat)
if(!in_array($cat->cat_ID, $exclude))
echo '<li><a href="' . get_bloginfo('url') . '/category/' . $cat->category_nicename . '">' . $cat->cat_name . '</a></li>'; ?>
<?php if ( in_category( ‘test’ ) ): ?>
<li class=“test”><a href="<?php bloginfo('url'); ?>/test”>テスト</a></li>
<?php endif; ?>
</ul>
</div><!-- /description -->
</div><!-- /post-inner -->
</div><!-- /post -->
<?php endwhile; else: ?>
<p>記事がありません。</p>
<?php endif; ?>
</div><!-- /post-list -->
そもそものところquery_postsはあまり推奨されていませんので、他の方法を使いましょうか。
(参考まで http://wpdocs.sourceforge.jp/関数リファレンス/query_posts)
ほぼコピペでいけて簡単ですので、WP_Queryを使ったループに置き換えてみてください。
ループの中のコードはちゃんと確認していませんが、たぶんそのままコピペで良いかと思います。
<?php
$args = array(
'meta_key'=>'t_date',
'orderby' => 'meta_value',
'order' => 'DESC',
'posts_per_page' => 12
);
// クエリ
$the_query = new WP_Query( $args );
// ループ
while ( $the_query->have_posts() ) : $the_query->the_post();
?>
//ループの内容をコピペ
<div class="post">
...
</div><!-- /post -->
<?php endwhile;
// 投稿データをリセット
wp_reset_postdata();
?>
コードありがとうございます!
早速いただいたコードに書き換えてみましたが、動作は変わらずでした…。
ああ、全然動作確認してないんで、すいません。
$args
のところ下記にしたらどうですかね。
現在のカテゴリーを指定します。
$args = array(
'cat' => get_query_var('cat'),
'meta_key'=>'t_date',
'orderby' => 'meta_value',
'order' => 'DESC',
'posts_per_page' => 12
);
いえ、とんでもないです。
アドバイスいただいた通りにしてみましたところ、希望通りの動作になりました!
本当にありがとうございます!助かりました!
貴重な時間を割いていただき感謝いたします…!