首先,我对编程和wordpress开发还比较陌生。
我正在构建一个插件,它从数据库和保存的草稿列表中获取自定义数据,然后使用这些数据修改用户选择的草稿。现在它是这样工作的:
我使用add\\u submenu\\u page()在帖子类别下添加了管理菜单,在该页面上,我使用html选择表单创建了一个下拉菜单,从数据库中获取草稿列表并将其显示给用户,我在下拉菜单旁边有一个按钮,当您单击该按钮时,可能会发布帖子并使用数据库中的自定义数据对其进行修改我的问题是,要做到这一点,我必须使用POST并将所有这些内容发送到另一个php页面。如果可能的话,我想避免这种情况,因为我想保持这个插件的简单,而且我对wordpress的开发不是很满意。
我想知道的是,是否还有其他方法可以做到这一点?我可以使用某种内置的wordpress操作或挂钩来实现这一点?或者有没有其他更简单的方法。
我一直在考虑将所有这些都转移到选项,并使用设置API和发布到选项。php。
我感谢您的任何意见。
编辑:以下是相关代码:
<div class="wrap">
<p>Select post:</p>
<form name="autogenerator">
<select id=\'drafts\' name="drafts">
<?php foreach($keywords as $keyword) {
$post = get_post($keyword);
$title = $post->post_title;
echo "<option value=$keyword>$title</option>";
}?>
<input type="button" onClick="" value="Generate!">
</select>
</form>
</div>
$关键字是帖子id的列表。我希望能够将此id传递给我的按钮,以便在单击它时运行另一个功能,发布选定的帖子并使用数据库中的数据对其进行修改。
最合适的回答,由SO网友:s_ha_dum 整理而成
你必须POST
以某种方式发送数据,或通过GET
(如果您有大量数据,并且不是GET
无论如何)。
但很难确切说出你的问题是什么。我想到的选项有:
使用AJAX API (即使请求不是我的Javascript)提交到您已经创建的页面如果您需要WordPress功能,那么提交到其他页面是很棘手的,可能不值得这么做。
我会使用选项2。您可以在创建插件页面的同一代码块中处理表单,但如果需要重定向(PRG) 您需要将处理函数挂钩到早期挂钩中。看看wp-admin/admin.php
文件从大约一半开始,你开始得到一堆钩子,从非常一般的开始admin_init
但也包括一些非常特殊的挂钩,如\'load-\' . $page_hook
和\'load-\' . $plugin_page
.
Edit: 根据您添加到问题中的代码,使用AJAX API。此外,您的标记格式不正确--您需要在option
值属性。