【发布时间】:2015-01-02 17:45:15
【问题描述】:
我已成功将 WordPress 与 Codeigniter 集成。我创建了一个插件,它添加了一个可以在编辑器中使用的简码。这也按预期工作。这是我的代码:
function get_property_filters($atts) {
foreach ($atts as $key => $value) {
$_POST['property_type'] = $value;
}
return 'Something to replace shortcode in WP Page';
}
add_shortcode('property_filters', 'get_property_filters');
我需要做的是从我的 WP 插件发送一个 POST 变量到一个 CI 脚本,因此该行:
$_POST['property_type'] = $value;
我了解处理短代码的函数的返回值旨在用页面/帖子中的一些文本或小部件等替换短代码。我打算用空字符串替换短代码。但是,在处理短代码的函数中,如何将POST 变量发送到我的 Codeigniter 脚本?
我已经为此搜索了几个小时。这似乎是一个非常具体的问题。感谢您的帮助。
编辑:我曾想过使用会话变量来保存值,但我似乎无法在 WP 中设置会话变量并从 CI 访问它。沿着这个思路有什么建议吗?
编辑 2: 我还想到使用 $wpdb 从 CI 脚本查询 WP 数据库。可以这样做并且已经在某些情况下有效,但是,我无法直接从 WP 数据库中获取 post_content 字段,而是获取呈现的文本。即我的简码被替换为单词“land”,但我希望查询返回在 WP 页面中使用的简码,而不是替换字符串。
【问题讨论】:
-
要么您还没有传达问题,要么您对 POST 变量的工作方式有误解。请给出一个完整的例子。
-
$_POST 非常“全球性”(您可以通过$GLOBALS — References all variables available in global scope 访问许多“有趣的东西”。这是使 PHP 变得有趣的很多原因。您无需将它们传递给任何地方它们总是可用 - 无处不在。PHP 做了很多工作来使这个“网络东西”更容易。
-
这个问题在 cmets 中得到了很好的解释,我很确定这个问题不是要求对 POST 进行解释。我不是新手,所以我对 PHP 所做的“有趣”的事情了如指掌!请只有知道 WordPress 和 CI 不能很好地协同工作并且了解这种情况的微妙复杂性的人才能做出回应。我不需要 PHP 专家,因为我已经是 PHP 专家了。
标签: php wordpress codeigniter shortcode