与许多事情一样,实现这一点的方法不止一种。一个简单的方法是传递order
和orderby
查询的值。我认为在特定页面上进行此排序最有效的方法是pre_get_posts
但与其让这件事过于复杂,不如用简单的方法。
您将创建一个“arguments”变量,并将其传递给自定义查询。您的代码将如下所示:
<?php
// These are the arguments for the custom query
$args = array(
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\'
);
// Instantiate query
$query = new WP_Query($args);
if( $query->have_posts() ) : while( $query->have_posts() ) : $query->the_post(); ?>
<img src="<?php the_field(\'picture\'); ?>" class="img" width="467" height="395" />
<h2><?php the_field(\'name\'); ?></h2>
<?php
the_field(\'description\');
endwhile;
endif;
?>
这将根据菜单顺序对您的进行排序。还有许多其他排序选项可用。请参阅WP\\U查询类的Codex条目:
https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters编辑-基于OP中的信息的元查询选项。$args
变量现在包含orderby
和meta_key
价值观
<?php
// These are the arguments for the custom query
$args = array(
\'orderby\' => \'meta_value_num\',
\'meta_key\' => \'order\'
);
// Instantiate query
$query = new WP_Query($args);
if( $query->have_posts() ) : while( $query->have_posts() ) : $query->the_post(); ?>
<img src="<?php the_field(\'picture\'); ?>" class="img" width="467" height="395" />
<h2><?php the_field(\'name\'); ?></h2>
<?php
the_field(\'description\');
endwhile;
endif;
?>