我是WordPress的新手,我想知道是否有人能帮助我理解在前端提交一个小部件表单时,我应该如何呈现插件的输出。
我正在开发一个插件,它有两个“视图”和一个小部件。小部件只是一个带有下拉菜单的表单,用于从列表中选择值。选择值后,表单应将该值提交到呈现插件第一个视图的页面。第一个视图应该打印将访问者带到第二个视图的链接。就像第一个视图是行列表,第二个视图是从第一个视图中选择的行的详细信息一样。我的小部件的表单应该知道数据应该发布到哪个URL。This is the goal.
我一直在读Plugin API, 但我似乎没有找到一个合适的解决方案。我的问题是:我应该只依靠Shortcodes
, 以前放在某些页面上,以在前端呈现插件?这是唯一的办法吗?
我试图提交一个自定义action
以我的小部件的形式(带操作get_admin_url().\'admin-post.php\'
), 并将其挂接到插件中:
add_action(\'admin_post_customaction\', \'handle_customaction\');
add_action(\'admin_post_nopriv_customaction\', \'handle_customaction\');
function (handle_customaction) {
//do something
}
但是页面管理帖子。php会截断执行,所以我想这种做法只是为了执行某些任务,然后重定向,而不是在前端显示页面内的内容。
除了使用短代码,还有什么解决方案吗?因为我的问题是“我应该在小部件的形式中使用哪个动作属性?”,比如,我如何知道哪些页面使用了我需要的短代码?
可能通过创建自定义post type
在插件中?我不需要在网站的管理部分任何特别的东西。然而,至少在那里,WordPress通过链接调用了我的插件wp-admin/admin.php?page=myplugin
我的主回调被调用。但是前端呢?
我错过什么了吗?我不想依赖主题的代码。任何提示都将不胜感激!谢谢