是否以自定义顺序配置具有多个类别的查询?

时间:2015-10-05 作者:Steve

我有一个在16个类别(“部门”)的职位网站。主页是每个类别中当前(最新)帖子的网格。

我想创建HTML来显示一个部门的当前帖子,并使用word press循环将其重复16次以获取网格。

此外,客户希望指定类别和它们出现的顺序,而她是我需要帮助的部分。

因此,我的页面是来自“Dining”的最新帖子,然后是来自“travel”的最新帖子,等等。

Here\'s the site currently 以前的设计师每个月都会在一张桌子上手工制作,这很愚蠢。

1 个回复
SO网友:GµårÐïåñ

我希望我能理解你的问题,因为最近我发现自己需要在帖子的层次菜单中动态地包含一个子类别列表及其计数,所以我想到了这个:

我把这个放在一个叫做listcat.php

<?php
/*
  Plugin Name: List Categories
  Reference: http://codex.wordpress.org/Template_Tags/wp_list_categories
  Description: Simple plugin to display categories in any post or page
  with a shortcode. It\'s basically a shortcode API interface to the
  wp_list_categories WordPress function.
*/
class ListCategories{
  static function list_categories($atts, $content = null) {
    $atts = shortcode_atts(
      array(
        \'show_option_all\'    => \'\',
        \'orderby\'            => \'name\',
        \'order\'              => \'ASC\',
        \'style\'              => \'list\',
        \'show_count\'         => 0,
        \'hide_empty\'         => 1,
        \'use_desc_for_title\' => 1,
        \'child_of\'           => 0,
        \'feed\'               => \'\',
        \'feed_type\'          => \'\',
        \'feed_image\'         => \'\',
        \'exclude\'            => \'\',
        \'exclude_tree\'       => \'\',
        \'include\'            => \'\',
        \'hierarchical\'       => 1,
        \'title_li\'           => __( \'Categories\' ),
        \'show_option_none\'   => __( \'No categories\' ),
        \'number\'             => null,
        \'echo\'               => 1,
        \'depth\'              => 0,
        \'current_category\'   => 0,
        \'pad_counts\'         => 0,
        \'taxonomy\'           => \'category\',
        \'walker\'             => null
      ), $atts
    );

    ob_start();
    wp_list_categories($atts);
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
  }
}

add_shortcode( \'categories\', array(\'ListCategories\', \'list_categories\') );
完成后,我会将其包含在我的头文件中(从技术上讲,您可以将其放在任何地方,但如果您希望它在任何地方都可用,那么请确保它是一个到处加载的部分,如页眉、页脚、挂钩等:

include \'/server/path/to/the/file/listcat.php\';
然后,从站点中的任何帖子或页面,您可以使用快捷码生成您想要动态更新的类别/或子类别的列表和层次结构(如果需要),其中包含的内容也会自动更新,无需再次执行或手动更新任何内容。以下是我为自己所做的一个例子:

[categories child_of=36 hide_empty=0 title_li=\'Explore Samples\' orderby=id show_count=1]
它为我产生了这样的效果:

enter image description here


你可以根据自己的需要对其进行调整和设计,希望对你有所帮助。我还提供了指向Codex文档的链接,以便您可以查看每个选项的功能以及显示方式,以帮助您决定使用什么。祝你好运

相关推荐

WooCommerce在Orders列表的Bulk Actions下拉列表中添加一个新的Bulk Actions

我试图在WooCommerce订单列表中添加一个自定义批量操作,这将是我为单个订单编写的一段代码,但需要使其递归工作。我知道:Custom bulk_action 但它指的是wordpress批量操作菜单,而不是专门针对woocommerce的。你能帮我在我的woocommerce订单列表插件中运行它吗?此外,我还对如何在添加该操作后扫描要检查的订单并仅对所选订单应用批量操作感到有点困惑。