Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress动态数组_Php_Arrays_Ajax_Wordpress - Fatal编程技术网

Php Wordpress动态数组

Php Wordpress动态数组,php,arrays,ajax,wordpress,Php,Arrays,Ajax,Wordpress,我在用post title=>post url值(自定义post类型)创建数组时遇到问题 我尝试了这个和其他组合,但没有太多的运气 最终的结果是,我希望有一个动态数组,我能够在jQuery中使用ajax进行搜索 这部分使用的是静态数组,但我无法使其动态工作 我需要得到的确切格式是: $data = array( "Post 1 title" => "link post 1", "Post 2 title" => "link post 2", "Post 3 title" =&g

我在用post title=>post url值(自定义post类型)创建数组时遇到问题

我尝试了这个和其他组合,但没有太多的运气

最终的结果是,我希望有一个动态数组,我能够在jQuery中使用ajax进行搜索

这部分使用的是静态数组,但我无法使其动态工作

我需要得到的确切格式是:

$data = array(
 "Post 1 title" => "link post 1",
 "Post 2 title" => "link post 2",
 "Post 3 title" => "link post 3"
);
非常感谢你的帮助

只要做:

global $wp_query;
$type = 'qa';
$args=array(
  'post_type' => $type,
  'post_status' => 'publish'
);
$data = array();  
$my_query = new WP_Query($args);

if( $my_query->have_posts() ) {
      $title = get_the_title();
      $url = get_the_permalink();
      $data[$title] = $url;
}

你的循环不完整。在实际开始循环之前,您正在尝试构建阵列。您需要将所有内容移动到循环中,然后构建阵列

只是一个提示,因为您使用的是自定义的post类型,而不是用于获取post permalink

$type = 'qa';
$args=array(
  'post_type' => $type,
  'post_status' => 'publish'
);
$my_query = new WP_Query($args);

$data = array();
if( $my_query->have_posts() ) {
    while ( $my_query->have_posts() ) {
      $title = get_the_title();
      $url = get_post_permalink();
      $data[$title] = $url;
    }
    wp_reset_postdata();
}
var_dump( $data );

嗨,彼得。是的,我意识到了这一点,现在它正在发挥作用。非常感谢和感谢他人的帮助!
$type = 'qa';
$args=array(
  'post_type' => $type,
  'post_status' => 'publish'
);
$my_query = new WP_Query($args);

$data = array();
if( $my_query->have_posts() ) {
    while ( $my_query->have_posts() ) {
      $title = get_the_title();
      $url = get_post_permalink();
      $data[$title] = $url;
    }
    wp_reset_postdata();
}
var_dump( $data );