Как показать страницу по заказу в Post Query WordPress

Я хочу показать страницу в пользовательском шаблоне. Я использую цикл пост-запроса, чтобы показать страницу, и она работает. Но я не хочу показывать домашнюю страницу. и я хочу показать свои страницы в порядке возрастания. Я использую порядок на страницах. Но я не могу это исправить.

<?php
global $post;
$args = array( 'posts_per_page' => 3, 'post_type'=> 'page', 'order' => 'ASC');
$myposts = get_posts( $args );
if (!empty($myposts)) :
foreach( $myposts as $post ) : setup_postdata($post); ?>

<section class="col-1-3">
<div class="wrap-col">
<div class="box">
<div>
<h2><?php the_title(); ?></h2>
<figure><img src="<?php echo get_template_directory_uri();?>/images/page1_img1.jpg" alt="" ></figure>
<p class="pad_bot1"><?php echo excerpt('20'); ?>...</p>
<a href="<?php the_permalink(); ?>" class="button1">Read More</a>
</div>
</div>
</div>
</section>

<?php endforeach; ?>
<?php else : ?>
default data
<?php endif; ?>

не могли бы вы помочь мне выйти из этого.

0

Решение

Я предполагаю, что у вас есть титульная страница в Настройки> Чтение. Если это так, это должно работать для вас:

$front_page = get_option( 'page_on_front' );

$args = array(
'posts_per_page' => 3,
'post_type'      => 'page',
'order'          => 'ASC',
'post__not_in'   => array( $front_page ),
);
0

Другие решения

Вы можете исключить домашнюю страницу, передав идентификатор домашней страницы:

$args = array( 'posts_per_page' => 3, 'post_type'=> 'page', 'order' => 'ASC','exclude' => 1);
0

Вы можете также исправить простой запрос: поместите ниже код (замените имя таблицы и поле) на своей странице

<?php

global $wpdb;

$customers = $wpdb->get_results("SELECT * FROM yourtablename Where id = 1 ORDER BY `yourtablename`.`date` ASC");

// add code to limit / exclude ..  what you want

echo "<table>";
foreach($customers as $customer){
echo "<tr>";
echo "<td>".$customer->title."</td>";
echo "<td>".$customer->desc."</td>";
echo "<td>".$customer->url."</td>";
echo "</tr>";
}
echo "</table>";

?>
0
По вопросам рекламы [email protected]