WordPress AJAX以模式加载帖子元数据

时间:2016-09-01 作者:vitality

我有一个自定义页面模板(front page.php),我有一个自定义元框,它被分配给这个页面模板。

Metabox有7个部分,每个部分有2个输入。它看起来像:1。客户端徽标图像url(输入)2。客户端详细信息(textarea)

在前端,通过以下方式显示7个客户徽标:

<?php echo get_post_meta($post->ID, \'client_logo\', true); ?>
我需要做的是,当您单击客户机徽标时,在模式框中加载客户机详细信息post meta。

如果您单击客户端1徽标,您将看到客户端1的详细信息,如果单击客户端2徽标,您将看到客户端2的详细信息发布元数据,等等

我有一些代码,但我不知道如何使用它。也许有人能解决这个问题?

( function( $ ) {
// AJAX loading client information
    var page = 1;
    var loading = true;
    var load_posts = function(){
            $.ajax({
                type       : "GET",
                data       : {\'What should be here?\'},
                dataType   : "html",
                url        : "link to php file which is return data? what should be at the php file?",
                success    : function(data){
                    } else {
                    }
                },
                error     : function(jqXHR, textStatus, errorThrown) {
                    alert(jqXHR + " :: " + textStatus + " :: " + errorThrown);
                }
        });
    }

    // Load more posts on click
    $(\'a.popup\').click(function() {
      loading = true;
      load_posts();
      return false;
    });
    load_posts();
} )( jQuery );

1 个回复
SO网友:Chiranjib Khanra

您可以使用wordpress的ajax url创建方法。

add_action("wp_ajax_clientLogoPopup", "clientLogoPopup");
add_action("wp_ajax_nopriv_clientLogoPopup", "clientLogoPopup");

    function clientLogoPopup()
    {
        $clientID = intval($_REQUEST[\'client_id\']);
        if($clientID > 0){
            echo get_post_meta($clientID , \'client_logo\', true);
            // or you can also show other meta fields here.
        }
        die();
    }
在函数中编写上述脚本。主题的php

现在按照您的要求调用url,如下所示,

http://www.your-website.com/wp-admin/admin-ajax.php?action=clientLogoPopup&client_id=