我正在尝试使我的wordpress主页仅显示2个博客文章。与不同的显示元素。其中之一是向左浮动, 而另一个是向右浮动。在本地php上, 很容易以数组形式获取结果。并用$ result [0]和$ result [1]打印它们。
但是在wordpress idk上可以做到这一点。也许你们可以帮助我指导任何文档。像wp_query等等, 别忘了给我示例代码行
*对不起, 我的英语太差了。希望大家阅读并回复。
我当前的代码行是:
$blogposts = new WP_Query(array(
'post_type' => 'post', 'posts_per_page' => 2, ));
while ($blogposts->have_posts()) {
$blogposts->the_post();
}
#1
如果你对数组比较满意, 则可以始终使用get_posts()函数代替, 该函数几乎(完全)像WP_Query()类一样接受参数。 get_posts()实际上也使用了WP_Query。
就是说, 你提到的使用”原生PHP”进行修改的代码不会那么困难。这只是一个while循环, 而不是foreach循环, 两者都是相似的控制结构。
你要做的就是添加一个计数器变量, 并在每次通过之后使用增量运算符将其递增:++;
这是为你提供的快速代码示例:
$args = array(
'posts_per_page' => 2, );
$query = new WP_Query( $args );
if( $query->have_posts() ){
$count = 0; // Start a Counter
while( $query->have_posts() ){
$query->the_post();
printf( '<div class="post float-%s">', ($count++ % 2 == 0) ? 'left' : 'right' ); // If counter is odd: "left", even: "right"
printf( '<h4 class="post-title">%s</h4>', get_the_title() );
the_content();
echo '</div>';
}
} else {
echo 'No Posts Found.';
}
有两件事:
- 我将$ args数组移至其自己的变量。一些查询可能变得非常复杂, 将它们作为指定变量可以提高长期可维护性。
- 如果只想发布, 则也不需要post_type参数, 因为这是默认值。
- 我添加了一个if子句, 因此, 如果你的帖子消失了或者你移动了这段代码, 那么”找不到任何东西”就会退一步。
- 我在后期课程中使用了一些复杂的三元运算符。我在那里增加它, 因此以后我们不需要另一行来增加$ count, 并且不需要多行” if / else”来确定左或右。
- 除此之外, 你没有提供标记结构, 因此如果你不知道它们之间的区别, 则可以使用the_和get_the_函数。
评论前必须登录!
注册