【问题标题】:PHP How to Add a variable to an array?PHP如何将变量添加到数组中?
【发布时间】:2016-06-27 11:07:17
【问题描述】:

我想用类别号(示例中为 14)创建一个变量,并将其传递给 get_posts 数组。我创建了一个自定义字段来传递类别 ID。

<?php
$field = the_field('category_num');
$args = array( 'posts_per_page' => 200, 'order'=> 'DESC', 'category' => $field);
$postslist = get_posts( $args );
foreach ( $postslist as $post ) :
  setup_postdata( $post ); ?> 

这是使用 Wordpress。

问题在于这不起作用,基本上:在 $args 中,'category' => $field); 没有显示类别的编号 ID。

这是正确的语法吗?有人可以指出我做错了什么吗?

【问题讨论】:

  • 您能否在问题的正文中明确说明您的问题是什么?
  • 对不起,我正在更新问题,现在它已更新。请不要投反对票。
  • 不,有问题。是的,您的数组的语法是正确的。还请指定“这不起作用”。什么不是?
  • 更新了我的问题。

标签: php arrays


【解决方案1】:

您可能想尝试一些类似 Wordpress 文档化模式的方法。下面的代码可能值得考虑:

    <?php

        global $post;  // READY THE $post FOR USE IN THE setup_postdata() FUNCTION

        $field      = the_field('category_num');
        $args       = array( 'numberposts' => 200, 'order'=> 'DESC', 'category' => $field); // NOTICE THE USE OF numberposts RATHER THAN posts_per_page
        $postsList  = get_posts( $args );

        foreach ( $postsList as $post ){
            setup_postdata( $post );
        }
        wp_reset_postdata();
    ?>

【讨论】:

    【解决方案2】:

    我认为the_field('category_num') 不会起作用 - 它不是默认的 Wordpress 功能。

    获取您想要分类的帖子的帖子 ID 并将其存储在 $post_ID 中。然后你可以使用:

    $postcat = get_the_category($post_ID);
    $field = $postcat['cat_ID'];
    

    那么你的 $args 应该可以工作了。

    参考:https://developer.wordpress.org/reference/functions/get_the_category/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多