以升序显示内容

时间:2015-08-12 作者:nomeer

我正在使用https://wordpress.org/plugins/advanced-custom-fields/ 自定义字段插件。我使用以下代码成功地在我的单个页面上显示了页面内容:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<img src="<?php the_field(\'picture\'); ?>" class="img" width="467" height="395" />
<h2><?php the_field(\'name\'); ?></h2>
<?php the_field(\'description\'); ?>
<?php endwhile; endif; ?>
在哪里picture, namedescription 是我的自定义字段,这3个字段分配给不同的页面about-us, contactservices 页现在我需要按升序显示它们意味着首先contact 那么内容about-us 然后services. 有谁能指引我吗?

1 个回复
最合适的回答,由SO网友:jdm2112 整理而成

与许多事情一样,实现这一点的方法不止一种。一个简单的方法是传递orderorderby 查询的值。我认为在特定页面上进行此排序最有效的方法是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 变量现在包含orderbymeta_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; 
?>

结束

相关推荐

以升序显示内容 - 小码农CODE - 行之有效找到问题解决它

以升序显示内容

时间:2015-08-12 作者:nomeer

我正在使用https://wordpress.org/plugins/advanced-custom-fields/ 自定义字段插件。我使用以下代码成功地在我的单个页面上显示了页面内容:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<img src="<?php the_field(\'picture\'); ?>" class="img" width="467" height="395" />
<h2><?php the_field(\'name\'); ?></h2>
<?php the_field(\'description\'); ?>
<?php endwhile; endif; ?>
在哪里picture, namedescription 是我的自定义字段,这3个字段分配给不同的页面about-us, contactservices 页现在我需要按升序显示它们意味着首先contact 那么内容about-us 然后services. 有谁能指引我吗?

1 个回复
最合适的回答,由SO网友:jdm2112 整理而成

与许多事情一样,实现这一点的方法不止一种。一个简单的方法是传递orderorderby 查询的值。我认为在特定页面上进行此排序最有效的方法是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 变量现在包含orderbymeta_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; 
?>

相关推荐