如何在unctions.php中使用get_post()函数

时间:2015-10-16 作者:Imrul.H

我正在尝试用ajax加载帖子。但我并没有得到这些帖子的任何内容。我没有发布我的javascript,因为它非常简单。这是我在inc/helper函数中的代码。包含在主要函数中的php。php。

function get_my_posts(){

    $posts_per_page = $_POST[\'posts_per_page\'];
    $category = $_POST[\'category\'];

    $args = array(
        \'posts_per_page\'   => $posts_per_page,
        \'offset\'           => 0,
        \'category\'         => $category,
        \'orderby\'          => \'date\',
        \'order\'            => \'DESC\'
    );
    $myposts = get_posts( $args );

    if ( $myposts ) {

        foreach ( $myposts as $post ) {
            setup_postdata( $post );
            get_template_part( \'content\', get_post_format() );
        }
        wp_reset_postdata();

    } else {
        echo \'Ingen innhold\';
    }

    wp_die();
}

add_action("wp_ajax_get_my_posts", "get_my_posts");
add_action(\'wp_ajax_nopriv_get_my_posts\', \'get_my_posts\');
这里是如何内容。php看起来像:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

    <div class="meta">
        <?php the_time(\'d.m.Y\') ?>
    </div>

    <header class="entry-header">
        <?php  the_title( sprintf( \'<h2 class="entry-title"><a href="%s" rel="bookmark">\', esc_url( get_permalink() ) ), \'</a></h2>\' ); ?>

    </header>

    <div class="entry-content">
        <?php the_excerpt(); ?>
    </div>

</article>
我正在完成循环,但没有打印内容。例如,\\u ID()、\\u extract()、post\\u class()等的函数都不工作。如果我在模板中使用相同的代码,那么效果很好。

1 个回复
SO网友:Imrul.H

在功能开始时,应该有一个$post的全局声明。就像这样:

function get_my_posts(){
    global $post;
    // rest of the code.
}
stackoverflow的原始答案:xphan

相关推荐

无法使用AJAX访问数据库中的数据

我正试图在wordpress中首次调用AJAX。我遵循了一些教程,到目前为止已经达到了这一点。但当我试图安慰的时候。将从数据库中获取的数据记录在AJAX调用中,我发现以下错误:未捕获引用错误:未定义数据代码:功能。phpfunction my_ajax_handler(){ global $wpdb; $name = $wpdb->get_results(\"SELECT * FROM username\"); echo $name;