【问题标题】:clean json output in wordpress在wordpress中清理json输出
【发布时间】:2018-05-27 16:39:51
【问题描述】:

我有一个自定义代码作为插件,使用 wordpress 中的钩子(最新版本)。我在数据库中也有一些自定义的表。我正在从数据库中查询一些数据并使用 JSON 输出数组。输出很好,但由于它是基于钩子的,所以输出带有一个完整的页面(html 标题和正文)。我需要的是只输出 JSON 代码,以便我的移动应用程序可以理解代码。

这是一个例子:

我的钩子代码:

    <?php

    $getPosts = $wpdb->get_results("SELECT * FROM gc_posts WHERE 
    userid=$organization");
    foreach($getPosts as $getPosts){
    $imageLocation = $target_dir . $getPosts->image;

    $myContents->title = "$getPosts->title";
    $myContents->description = "$getPosts->description";
    $myContents->image = "$imageLocation";


}
wp_send_json($myContents);

这是当前的输出:

<!DOCTYPE html>
<html lang="en-US" class="no-js no-svg">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<script>(func
...
<body>
...
{"title":"Museum","description":"Open from 10 am to 10 pm","image":"1_1527407746.jpg"}
...

虽然我正在寻找的只是 JSON 代码,例如:

{"title":"Museum","description":"Open from 10 am to 10 pm","image":"1_1527407746.jpg"}

有什么想法吗?

【问题讨论】:

  • 没有看到一些代码,无法回答。
  • 添加了我的代码。请检查您是否可以提供帮助!
  • 问题是您使用的 URL 被 WordPress 解释为对 HTML 文档的请求,因此 WordPress 将您的输出包装在 HTML 文档中。 WordPress 支持仅数据请求的 AJAX 入口点。您应该使用它来返回 JSON。
  • 非常感谢。这解决了我的问题。

标签: php json wordpress


【解决方案1】:

首先,感谢 magenta 回答这个问题。

我关注了 magenta answe 并没有使用正常的帖子页面 URL,而是使用了以下内容:

[http://yourwebsite.com]/wp-admin/admin-ajax.php?[your_action_action_function_name]

我在我的插件中添加了一个动作,所以这是允许的:

add_action('wp_ajax_nopriv_your_action_action_function_name', 'your_action_action_function_name');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多