Jquery 使用AJAX加载Wordpress元键

Jquery 使用AJAX加载Wordpress元键,jquery,ajax,wordpress,Jquery,Ajax,Wordpress,目前我的主题是用AJAX加载帖子。但是如何通过AJAX获得post元键呢 目前PHP函数如下所示: add_action('wp_ajax_nopriv_ajax_action', 'ajax_loading'); add_action('wp_ajax_ajax_action', 'ajax_loading'); function ajax_loading() { switch($_REQUEST['fn']) { case 'get_latest_posts':

目前我的主题是用AJAX加载帖子。但是如何通过AJAX获得post元键呢

目前PHP函数如下所示:

add_action('wp_ajax_nopriv_ajax_action', 'ajax_loading');
add_action('wp_ajax_ajax_action', 'ajax_loading');

function ajax_loading() {
    switch($_REQUEST['fn']) {
        case 'get_latest_posts':
        $output = ajax_get_latest_posts($_REQUEST['count']);
        break;
        default:
        $output = 'Error. No function specified.';
        break;
    }
    $output = json_encode($output);
    if (is_array($output)) {
        print_r($output);
    }
    else {
        echo $output;
    }
    die;
}

function ajax_get_latest_posts($count) {
     $posts = get_posts('numberposts='.$count.'&post_status=publish');

     return $posts;
}
function ajax_get_latest_posts($count) {
  $posts = get_posts('numberposts='.$count.'&post_status=publish');

  foreach ($posts as $key => $post) {
    $posts[$key]->meta = get_post_meta($post->ID);
  }

  return $posts;
}
和jQuery:

$.ajax({
        url: 'http://domain.com/wp-admin/admin-ajax.php',
        type: 'POST',
        data: {
            'action': 'ajax_action',
            'fn': 'get_latest_posts',
            'count': 15
        },
        dataType: 'JSON',
        success:function(data){
            //print stuff here
        },
        error: function(errorThrown){
            //error stuff here
        }
    })
有了这些代码,我只能得到主要的帖子信息(标题、id、日期、内容……)


那么,有人尝试过使用AJAX/JS从帖子中获取元键/值吗?

您可以将
AJAX\u get\u latest\u posts()
函数调整为类似以下内容:

add_action('wp_ajax_nopriv_ajax_action', 'ajax_loading');
add_action('wp_ajax_ajax_action', 'ajax_loading');

function ajax_loading() {
    switch($_REQUEST['fn']) {
        case 'get_latest_posts':
        $output = ajax_get_latest_posts($_REQUEST['count']);
        break;
        default:
        $output = 'Error. No function specified.';
        break;
    }
    $output = json_encode($output);
    if (is_array($output)) {
        print_r($output);
    }
    else {
        echo $output;
    }
    die;
}

function ajax_get_latest_posts($count) {
     $posts = get_posts('numberposts='.$count.'&post_status=publish');

     return $posts;
}
function ajax_get_latest_posts($count) {
  $posts = get_posts('numberposts='.$count.'&post_status=publish');

  foreach ($posts as $key => $post) {
    $posts[$key]->meta = get_post_meta($post->ID);
  }

  return $posts;
}

我为每个
posts
添加了一个“meta”键,使用您可以将
ajax\u get\u latest\u posts()
函数调整为如下内容:

add_action('wp_ajax_nopriv_ajax_action', 'ajax_loading');
add_action('wp_ajax_ajax_action', 'ajax_loading');

function ajax_loading() {
    switch($_REQUEST['fn']) {
        case 'get_latest_posts':
        $output = ajax_get_latest_posts($_REQUEST['count']);
        break;
        default:
        $output = 'Error. No function specified.';
        break;
    }
    $output = json_encode($output);
    if (is_array($output)) {
        print_r($output);
    }
    else {
        echo $output;
    }
    die;
}

function ajax_get_latest_posts($count) {
     $posts = get_posts('numberposts='.$count.'&post_status=publish');

     return $posts;
}
function ajax_get_latest_posts($count) {
  $posts = get_posts('numberposts='.$count.'&post_status=publish');

  foreach ($posts as $key => $post) {
    $posts[$key]->meta = get_post_meta($post->ID);
  }

  return $posts;
}

我使用

Hmm为每个
posts
添加了一个“meta”键,它给出了一个错误:不能使用WP\u Post类型的对象作为数组。这行代码:$posts[$key]['meta']=get\u post\u meta($post->ID);对不起,我没有Wordpress环境来检查它。它可能应该是
$posts[$key]->meta=get\u post\u meta($post->ID)ID);对不起,我没有Wordpress环境来检查它。它可能应该是
$posts[$key]->meta=get\u post\u meta($post->ID)