WordPress基于$_POST中的随机密钥检索$POST

时间:2019-10-08 作者:kloddant

我有一个WordPress页面/Floorplan/正在将一个带有属性method=“post”和action=“/contact/”的表单提交到“/contact/”页面。在我对联系人页面执行任何其他操作之前,我正在var\\u转储$post变量,以确保它是我所期望的,但我没有在$post变量中获取联系人页面,而是获取自定义post类型“floorplan”的实例,该实例对应于在post请求中提交给联系人页面的变量$\\u post[\'floorplan]。发生了什么事?

<!-- /floorplans/ page -->
<form method="post" action="/contact/">
    <input type="text" value="example" />
    <button>Submit</button>
</form>

<!-- /contact/ page -->
<?php
    var_dump($post);
    exit;
?>
<!-- Here I expect to see a var dump of the contact page, but instead I get a var dump of the custom post type instance that corresponds to the value that I entered in $_POST[\'floorplan\'], as if this value were a post_name. -->

1 个回复
SO网友:kloddant

当我输入这个问题时,我把它放了一会儿,发现了问题,决定把答案贴出来,以防万一它对其他人有帮助。显然,在WordPress的无限智慧中,它决定在其register\\u post\\u types函数中进行此论证:

\'publicly_queryable\'
如果设置为true,则会导致这种奇怪的现象。如果设置为false,则会修复此问题。

相关推荐

仅使用短码来自父类别的Get_Posts()

我正在尝试从中包含子类别的类别中获取\\u posts()。要展示一个例子,请看下面的图片。所以,正如你所看到的。家长和孩子在里面都有帖子。我只想预览孩子们的内容一次,而不是两次。下图显示了我的意思。您可以看到,某些项目被检索了两次。我已经创建了一个短代码,但我不知道如何使它的第一部分仅获取父类别中的帖子(首先从甜点中获取),然后显示子类别(烘焙饼干面团和煎饼)中的帖子(如果存在)。add_shortcode(\'TEDS_MENU\', \'fetch_teds_menu_items\'); f