我正在尝试为wordpress编写一个插件。我有一个问题,我无法解决。
在插件内部我添加了一个显示表单的短代码。
function showForm() {
echo '<form method="post" action="www.example.com/myDestinationPage">';
[...]
}
add_shortcode( 'ShowFormSC' , 'showForm' );
之后,在一个页面中,我添加了短代码,它完美无缺。 ; - )
现在问题是:如何在myDestinationPage(另一个wordpress页面)中读取POST数据?
在Php中会很简单......但是在wordpress中我不知道该怎么做。
第二个问题:myDestinationPage必须是一个真正的wordpress页面,里面有另一个短代码,或者可以在我的插件中定义为“虚拟”页面?
感谢您的帮助!
最诚挚的问候, 西蒙
答案 0 :(得分:0)
第一个答案:你可以直接在wordpress中使用$ _POST,就像在php中一样。
第二个答案:是的,你可以。如果要在插件中使用页面,请使用plugins_url()
生成表单操作的路径。
答案 1 :(得分:0)
www.example.com/myDestinationPage需要进行编辑以接收帖子数据,就像在任何其他php脚本中一样,wordpress或不是。如果'myDestinationPage'解析为动态wordpress内容,那么你就处于泥泞的水域。
让我们说,myDestinationPage是一个wordpress Post。该“页面”不作为文件存在,它直接来自数据库。
你可以写一个处理这个问题的短代码:
add_shortcode('post_parser', 'postParser');
. . .
function postParser() {
filter_input(INPUT_POST, 'my_post_value');
//do something
}
然后,您只需将'[post_parser]'短代码添加到myDestinatioPage帖子中。 (你提到它是一个wordpress页面,但是page&amp; post都是WP_Post对象。)
另一种选择是将你的后期处理代码放在post.php中(或者myDestinationPage是哪个模板)。