我如何从前端一次删除多个帖子?

时间:2015-07-15 作者:Florian

我看了一下编辑中的代码。php和am现在使用以下代码生成链接:

wp_nonce_url("/wp-admin/edit.php?doaction=trash&post_type=post&ids=postIds", "bulk-posts")
URL中的字符串“postIds”通过javascript被逗号分隔的帖子ID替换。到目前为止,所有这些都是将我重定向到后端的编辑屏幕。我需要如何生成此链接以一次丢弃多个帖子?

1 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

应该是这样的action 而不是“doaction”,那么它就会工作得很好。

至于您要求提供一些文档,据我所知,没有关于参数/操作的概述,请访问edit.php. 所以让我们做一些源代码检查,正如您自己所说的,您已经从edit.php, 所以我们从这里开始
由于变量的原因,您被搞糊涂了$doaction, 其设置如下:

$doaction = $wp_list_table->current_action();
现在我们需要知道怎么做$wp_list_tableinitialized:

$wp_list_table = _get_list_table(\'WP_Posts_List_Table\');
所以通过使用_get_list_table(), 是的

获取WP\\U List\\U Table类的实例。

在这种情况下,从通话中可以看出,WP_Posts_List_Table.

如上所述,方法current_action() 调用以确定操作。这实际上依赖于父类

return parent::current_action();
哪门课WP_List_Table, 设置操作的位置current_action() 像这样:

/**
 * Get the current action selected from the bulk actions dropdown.
 *
 * @since 3.1.0
 * @access public
 *
 * @return string|false The action name or False if no action was selected
 */
public function current_action() {
    if ( isset( $_REQUEST[\'filter_action\'] ) && ! empty( $_REQUEST[\'filter_action\'] ) )
        return false;
    if ( isset( $_REQUEST[\'action\'] ) && -1 != $_REQUEST[\'action\'] )
        return $_REQUEST[\'action\'];
    if ( isset( $_REQUEST[\'action2\'] ) && -1 != $_REQUEST[\'action2\'] )
        return $_REQUEST[\'action2\'];
    return false;
}
已识别-在edit.php 即-参数的值action 是:

结束

相关推荐

Wp.getPosts,状态=‘trash’,使用node.js

我想知道如何设置wp的过滤器选项。获取帖子。我想获得状态为“垃圾”的帖子。筛选器当前为空,并返回除垃圾以外的所有帖子。我正在使用xmlrpc wordpress api和节点wordpress插件。https://github.com/scottgonzalez/node-wordpress这是我当前的代码:wp.getPosts(\'<filter>\', [\'title\',\'status\'], function(err, data){ }); 我不确定过