如何修改Taxonomy-Custom.php中的查询以按自定义元字段对术语档案进行排序?

时间:2013-11-13 作者:Andrew Brown

我正在尝试为自定义分类术语创建主题页,其中归档文件按自定义元字段排序。

我可以通过一个新的wp\\U查询来实现这一点,如下所示:

        <?php $directory_archive_query = new WP_Query( 
            array( 
                \'post_type\' => \'directory\',
                \'posts_per_page\' => 200,
                \'meta_key\' => \'surname\',
                \'orderby\' => \'meta_value\',
                \'order\' => \'ASC\' ) ); ?>    

            <?php while($directory_archive_query->have_posts()) : $directory_archive_query->the_post(); ?>
然而,我需要这个来处理分类法自定义。php页面,以便根据自定义肉类字段(称为“姓氏”)列出每个分类术语的归档页面。如果我使用wp\\u查询,那当然行不通,因为它不再显示每个特定术语的结果。

我也尝试过使用pre\\u get\\u帖子来实现这一点,但也无法实现。我所期望的是,术语归档页面上列出的所有帖子都将按姓氏元键的升序列出。这并没有发生。相反,它们只是按照相同的顺序列出,就像那里没有pre\\u get\\u帖子一样。我使用的代码如下:

<?php 

    function customize_customtaxonomy_archive_display ( $query ) {
        if (($query->is_main_query()) && (is_tax(\'services\')))

        $query->set( \'post_type\', \'directory\' );                 
        $query->set( \'posts_per_page\', \'200\' );
        $query->set( \'meta_key\', \'surname\' );           
        $query->set( \'orderby\', \'meta_value\' );
        $query->set( \'order\', \'ASC\' );
    }

     add_action( \'pre_get_posts\', \'customize_customtaxonomy_archive_display\' );

?>
真的希望有人能帮忙。

谢谢你的时间。

安德鲁。

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

pre\\u get\\u posts筛选器位于循环开始之前taxonomy-services.php

那太晚了。主查询在加载模板之前很久就会运行。移动您的pre_get_posts 筛选到主题的functions.php, 或者一个插件或MU插件文件,您应该看到它们的区别。

结束

相关推荐

如何修改Taxonomy-Custom.php中的查询以按自定义元字段对术语档案进行排序? - 小码农CODE - 行之有效找到问题解决它

如何修改Taxonomy-Custom.php中的查询以按自定义元字段对术语档案进行排序?

时间:2013-11-13 作者:Andrew Brown

我正在尝试为自定义分类术语创建主题页,其中归档文件按自定义元字段排序。

我可以通过一个新的wp\\U查询来实现这一点,如下所示:

        <?php $directory_archive_query = new WP_Query( 
            array( 
                \'post_type\' => \'directory\',
                \'posts_per_page\' => 200,
                \'meta_key\' => \'surname\',
                \'orderby\' => \'meta_value\',
                \'order\' => \'ASC\' ) ); ?>    

            <?php while($directory_archive_query->have_posts()) : $directory_archive_query->the_post(); ?>
然而,我需要这个来处理分类法自定义。php页面,以便根据自定义肉类字段(称为“姓氏”)列出每个分类术语的归档页面。如果我使用wp\\u查询,那当然行不通,因为它不再显示每个特定术语的结果。

我也尝试过使用pre\\u get\\u帖子来实现这一点,但也无法实现。我所期望的是,术语归档页面上列出的所有帖子都将按姓氏元键的升序列出。这并没有发生。相反,它们只是按照相同的顺序列出,就像那里没有pre\\u get\\u帖子一样。我使用的代码如下:

<?php 

    function customize_customtaxonomy_archive_display ( $query ) {
        if (($query->is_main_query()) && (is_tax(\'services\')))

        $query->set( \'post_type\', \'directory\' );                 
        $query->set( \'posts_per_page\', \'200\' );
        $query->set( \'meta_key\', \'surname\' );           
        $query->set( \'orderby\', \'meta_value\' );
        $query->set( \'order\', \'ASC\' );
    }

     add_action( \'pre_get_posts\', \'customize_customtaxonomy_archive_display\' );

?>
真的希望有人能帮忙。

谢谢你的时间。

安德鲁。

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

pre\\u get\\u posts筛选器位于循环开始之前taxonomy-services.php

那太晚了。主查询在加载模板之前很久就会运行。移动您的pre_get_posts 筛选到主题的functions.php, 或者一个插件或MU插件文件,您应该看到它们的区别。

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: