【问题标题】:How do I call a WordPress Category, using '$args = array ()'如何使用“$args = array ()”调用 WordPress 类别
【发布时间】:2017-04-26 19:44:07
【问题描述】:

为了使我的代码尽可能具有可读性,我将一些编码结构如下:

$args = array (
    'type' => 'post',
    'posts_per_page' => 1,
    'offset' => 1,
    'category_name' => 'news',
    );

$lastBlog = new WP_Query($args);

有人发现这种编码有问题吗?出于某种原因,我的 'category_name' 参数未被识别并导致整个代码无法被识别。作为消除过程的一种方法,我删除了 'category_name' => 'news',语句和剩余的编码然后被识别。

关于我哪里出错的任何建议?我也尝试过定位类别 ID,但仍然遇到同样的问题。

谢谢。

克雷格

【问题讨论】:

    标签: php wordpress arguments


    【解决方案1】:

    category_name 是 slug,你确定 slug 也是“新闻”

    如果你使用 cat => [cat_id] 会发生什么?

    您是否得到相同的空响应?
    您的偏移量为 1,您目前是否可能只有 1 个新闻帖子?

    【讨论】:

    • 作为 php 的新手,我一直“陷入”代码中。如此之多,我未能退后一步,看看确保“偏移”设置为 0 的更明显答案。感谢您指出这一点。问题解决了!
    【解决方案2】:

    根据您的问题,我猜您想从“新闻”类别中获取最后一篇博客文章,并且我认为您的 WP_Query 参数没有什么大问题。并且有两个建议:

    1) 你能检查一下你的 $lastBlog->post 吗?例如:

    <?php print_r($lastBlog->post); ?>
    

    什么输出?

    2) 为什么不使用 get_posts 函数来代替它?对于您的问题,它比 WP_QUERY 更容易使用。 下面是函数的demo

    <?php $args = array(
        'posts_per_page'   => 5,
        'offset'           => 0,
        'category'         => '',
        'category_name'    => '',
        'orderby'          => 'date',
        'order'            => 'DESC',
        'include'          => '',
        'exclude'          => '',
        'meta_key'         => '',
        'meta_value'       => '',
        'post_type'        => 'post',
        'post_mime_type'   => '',
        'post_parent'      => '',
        'author'       => '',
        'author_name'      => '',
        'post_status'      => 'publish',
        'suppress_filters' => true 
    );
    $posts_array = get_posts( $args ); ?>
    

    【讨论】:

    • 感谢您的扩展回答。根据上面的评论,我现在已经设法解决了这个问题。也就是说,您是说使用“get_posts”而不是“wp-query”更好吗?我是否理解最好将“get_posts”函数用于主“umbrella”函数,然后将“wp-query”用于在主函数中创建循环的所有后续函数?
    • 加我的 2 美分,这绝不是“正确”的做法。但我个人几乎在所有情况下都支持 WP_Query 类。看看这个总结了我想法的解释:wordpress.stackexchange.com/a/1755 当你遇到更复杂的查询,并且说已经习惯使用 get_posts 时,你不会因为 get_posts 中缺乏控制和可能的参数而感到沮丧。跨度>
    • 不,事实上,如果你阅读 get_posts 的源代码,你可以看到 get_posts 也使用了 WP_QUERY 类,但它可以帮助你构建更强大的获取帖子数据的方式,并且安全。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 2017-06-12
    相关资源
    最近更新 更多