【问题标题】:How to pass PHP variable in Wordpress to JSON file?如何将 Wordpress 中的 PHP 变量传递给 JSON 文件?
【发布时间】:2021-12-10 06:57:09
【问题描述】:

我喜欢将帖子中的特定数据发送到我在 Wordpress 中的 JSON 响应。我喜欢将变量“hatus”的输出发送到 JSON 响应,但它似乎不起作用。

<?php echo wp_kses_post($hatus); ?>

这是我要发送到的代码:

<?php

// Export API Data to JSON, another method
add_action('publish_post', function ($ID, $post) {

    $wp_uri = get_site_url();
    $customApiEndpoint = '/wp-json/wp/v2/posts'; // or your custom endpoint

    $url = $wp_uri . $customApiEndpoint; // outputs https://your-site.com/wp-json/wp/v2/posts

    $response = wp_remote_get($url);
    $responseData = json_encode($hatus); // saved under the wp root installation, can be customized to any folder

    file_put_contents('your_api_data_backup.json', $responseData);

}, 10, 2);
?>

我在这里做错了什么?我唯一想要的是在我的 JSON 响应中显示“hatus”变量结果。你能帮忙吗?

【问题讨论】:

    标签: php arrays json wordpress


    【解决方案1】:

    您可以通过函数wp_send_json_success() 和错误by wp_send_json_error() 发送成功的JSON 响应。 检查文档successerror

    但是,当您从 PHP 发送 JSON 响应时,您应该有一个接受它的代码。 例如当你通过 AJAX 发送数据时:

        $.ajax({
            url: '<?php echo admin_url( "admin-ajax.php" ) ?>',
            type: 'POST',
            data: 'your txt or array ',
            success: function( data ) {   
                alert( data );
            }
        });
    

    在“成功”函数中,您可以从 PHP 中获取 JSON 数组。

    【讨论】:

    • wp_send_json_success(array('name' => 'Andrew', 'call' => '/wp-json/wp/v2/posts/', 'variable' => $hatus, ), 200);但这不起作用。怎么样?
    • @Johan 当您从 php 发送 JSON 响应时,您应该有一个接受它的代码(例如 JS 函数)。你有吗?
    • 哦...不,我没有。我认为这就像将其发送到 JSON 一样简单 :(
    • @Johan 我在回答中为此添加了示例。这只是 AJAX 的示例。但如果您使用不同的方法,请在您的问题中编写 JSON 接受的代码示例
    • 但是我应该修改上面的代码吗?我可以将两者结合起来还是应该同时更改以上内容?
    猜你喜欢
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    相关资源
    最近更新 更多