自定义wordpress php文件关系无法识别

时间:2014-06-24 13:33:39

标签: php jquery ajax wordpress include

我想做一些简单的事情: 来自文件/inc/follow-event.php我正在调用ajax发布请求:

jQuery.ajax({
    type: "POST",
    data: { data:'asd'},
    url: "/wp-content/themes/cust/lib/follow_cat_event.php"
});

文件lib / follow_cat_event.php是:

<?php
    $user = wp_get_current_user();
    echo $user->ID;
?>

由于某种原因,请求返回错误500,因为follow_cat_event无法识别wordpress函数,即使它包含在functions.php中:

include "lib/follow_cat_event.php";

编辑更新:

follow_cat_event.php:

<?php 
    add_action('wp_ajax_my_action', 'my_action_callback');
    function my_action_callback(){
        global $wpdb;
        $user = wp_get_current_user();
        echo $user->ID;
        if ( isset($_GET['data']) ) {
        }
    }
?>

follow_cat.php:

function myFunction(){
    jQuery.post(
        "/wp-content/themes/geektime/lib/follow_cat_event.php",
        {
        action: "my_action",
        data: { data:'asd'},
        }
    );
}

仍然没有运气......

1 个答案:

答案 0 :(得分:2)

即使你在function.php中添加了/inc/follow-event.php,它也无法使用wordpress功能。因为/inc/follow-event.php本身不属于wordpress函数的范围。你可以创建一个插件&amp;试一试。

另外,不要忘记在使用Wordpress默认AJAX处理程序实现AJAX时添加操作

jQuery.ajax({ 
    type: "POST",
    action : "my_action"
    data: { data:'asd'}, 
    url: "<?php admin_url( 'admin-ajax.php' ) ?>" 
});

现在,添加一个插件&amp; 激活

<?php

/*
Plugin Name: Wordpress AJAX
Author: Abhineet Verma
Version: 1.0
*/

function st_24388029(){
    // Do your stuff here
}

add_action( 'wp_ajax_my_action', 'st_24388029' );
add_action( 'wp_ajax_nopriv_my_action', 'st_24388029' );
?>

这将允许您在Wordpress前端中发出AJAX请求。