【问题标题】:Translate into WP_Query()? [closed]翻译成 WP_Query()? [关闭]
【发布时间】:2015-09-11 23:04:37
【问题描述】:

我是 sql 查询的新手,有人可以帮我将 sql 查询转换为 wp 查询以使其自动运行或计划吗?

我需要在 sql 上安排一个活动,但遗憾的是我的主持人不允许我打开活动安排程序,因为我只使用共享主持人帐户。

是否可以使用 wp 查询自动推送此查询?

这是我的查询

SELECT title AS ApplicationType,
value AS ApplicationStatus
FROM sfda_rg_form, sfda_rg_lead_detail
WHERE value = 'Pending'
OR value = 'Approved'
OR value = 'Rejected'

提前致谢

【问题讨论】:

  • Codex 是文档,而不是函数或类。我认为您指的是WP_Query() 类。
  • 哦,我明白了,我还以为它被称为 codex,因为那是我在 google 时使用的,无论如何谢谢

标签: php mysql wordpress


【解决方案1】:

使用$wpdb,您可以只运行查询而无需使用任何特殊结构。在你的情况下,甚至没有变量需要准备。所以这会起作用:

global $wpdb;
$query = "SELECT title AS ApplicationType, value AS ApplicationStatus FROM sfda_rg_form, sfda_rg_lead_detail WHERE value = 'Pending' OR value = 'Approved' OR value = 'Rejected'";
$results = $wpdb->get_results($query);

如果您要问的是 wordpress 中是否有某种机制允许在服务器的 cron 作业之外运行的计划任务,那么我会说可能没有,尽管我不是 100% 肯定的。很大程度上是因为它需要被访问的服务器才能触发 - 换句话说,有人需要加载一个页面才能触发该触发,而无需在 cron 选项卡中专门设置它,您已声明这不是一个选项。

因此,如果您想知道如何使用 wordpress $wpdb 运行该查询,利用连接和配置设置 - 那么这对您有用。

如果你问是否可以在 cron 选项卡之外的 WP 中运行计划任务,那么这将取决于其他人来明确地说。

更新

如果你只想按需运行,你可以把它放在你的functions.php文件中

function run_task(){
    global $wpdb;

    $query = "SELECT title AS ApplicationType, value AS ApplicationStatus   FROM sfda_rg_form, sfda_rg_lead_detail WHERE value = 'Pending' OR value = 'Approved' OR value = 'Rejected'";
    $results = $wpdb->get_results($query);

    // do something with the results
}

然后随心所欲地调用它。这是一个使用 $_GET 的示例...

//in functions.php also include this
if(isset($_GET['run_task']))
{
    run_task();
}

现在您可以通过将 run_task 参数添加到 get vars 来运行任务: http://www.yoursite.com/?run_task

通常参数有值,所以如果你与其他任何东西复合,做 /?run_task=1&foo=bar 之类的事情可能是明智的

...等

【讨论】:

  • 嗨,我对 wordpress 查询有点陌生,我应该把它放在哪里?在function.php中?顺便说一句,我在问一个不使用 cron 作业的查询..
  • functions.php 会很好。您应该将它包含在一个函数中,以防止它只运行每个页面加载。我更新了一个例子
  • 太好了,我可以添加另一个查询 // 对结果做些什么吗?从上面创建的查询中获取数据...
  • 或者我可以在此处将参数添加到重力形式字段吗? gyazo.com/367ede64da193f5835731198b2c4cf0b
  • 我不知道如何与重力形式挂钩。至于其他查询 - 是的,您可以做任何您需要的事情,但我认为这是另一个问题的问题。
猜你喜欢
  • 2021-10-22
  • 1970-01-01
  • 2017-11-07
  • 2014-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-14
  • 2023-01-24
相关资源
最近更新 更多