Мне сказали, что мой код l oop не соответствует стандартам шаблонов WP.
Из того, что я понимаю ... вот стандарт L oop в очень простом виде c page:
<?php
get_header();
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_content();
endwhile;
else :
_e( 'Sorry, no posts matched your criteria.', 'textdomain' );
endif;
get_sidebar();
get_footer();
?>
Как добавить аргументы в стандартный запрос l oop? См. Пример аргументов, перечисленных ниже:
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'order'=> 'DESC',
'orderby' => 'post_date',
'category_name' => 'Recipes',
'posts_per_page' => 9,
'paged' => $paged,
);
Вот пример одной попытки, которую я использовал для своей страницы постов в блогах:
<?php
$paged = (get_query_var( 'paged' )) ? get_query_var( 'paged' ) : 1;
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'order'=> 'DESC',
'orderby' => 'post_date',
'posts_per_page' => 9,
'paged' => $paged,
);
$postslist = get_posts( $args );
foreach ($postslist as $post) : setup_postdata($post);
?>
<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12 home-blog-list" style="float: left; display:block">
<center><div class="img-responsive box-shadow shadow-effect" style=""><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></div>
<h3 class="entry-title script" style="text-align: center;"><a class="entry-title-link" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3><center>
</div>
<?php endforeach; ?>
<?php wp_pagenavi(); ?>
Майн использует foreach вместо if / while .
Вот еще один пример, который я нашел при поиске ... это лучший способ добавить аргументы в базу c l oop? Он использует if / while logi c, но также использует WP_Query:
<?php
$paged = (get_query_var( 'paged' )) ? get_query_var( 'paged' ) : 1;
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'wordpress',
'posts_per_page' => 5,
'paged' => $paged,
);
$arr_posts = new WP_Query( $args );
if ( $arr_posts->have_posts() ) :
while ( $arr_posts->have_posts() ) :
$arr_posts->the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php
if ( has_post_thumbnail() ) :
the_post_thumbnail();
endif;
?>
<header class="entry-header">
<h1 class="entry-title"><?php the_title(); ?></h1>
</header>
<div class="entry-content">
<?php the_excerpt(); ?>
<a href="<?php the_permalink(); ?>">Read More</a>
</div>
</article>
<?php
endwhile;
wp_pagenavi(
array(
'query' => $arr_posts,
)
);
endif;
?>
Верен ли любой из приведенных выше примеров? Или же, кто-то может предоставить лучший способ кодирования basi c l oop с аргументами?
Спасибо, SunnyOz