WordPress(管理员)发布搜索获取请求筛选器

时间:2016-11-08 作者:Janiis

我编写了一个插件,在WordPress管理面板的帖子、页面表(列表)中添加一列。

每行都有其他输入字段(复选框)-允许\\u注释,允许\\u ping。这些复选框用于更新comment_statusping_status 通过AJAX调用选中复选框。

当我有大量帖子并在搜索字段中进行搜索时,问题就开始了,我的所有输入字段(复选框)都被添加到搜索中,如果有很多,那么请求URI将变得太长,无法发送,apache错误为50x错误。

如何防止WordPress在搜索请求中包含我的输入字段?

目前,我禁用了on search submit复选框,以避免将其添加到GET-Reqest中,但也许有更好的解决方案?

/**
 * Show checkbox Allow pings for post type
 * @param $column_name
 */
function jepc_add_pings_column_table_content($column_name) {
    global $post;
    if ($column_name == \'allow_pings\') {
        echo "<input class=\\"editable_ping_comment prevent-submit\\" data-type=\\"ping\\" name=\\"allow_ping[]\\" type=\\"checkbox\\" value=\\"" . $post->ID . "\\"" . ($post->ping_status == \'open\' ? \' checked="checked"\' : \'\') . " />";
        echo "<div id=\\"result_ping_" . $post->ID . "\\" style=\\"display: none;\\">" . __(\'Updating...\', \'jepc\') . "</div>";
    }
}

add_action(\'manage_posts_custom_column\', \'jepc_add_pings_column_table_content\', 10, 2);
Javascript

/**
 * Disabling checkboxes not to be includes in search get request
 */
$(\'#posts-filter\').submit( function() {
    $(\'.prevent-submit\').attr(\'disabled\', true);
});

1 个回复
SO网友:Dharmishtha Patel
    function getPostsByCategorySlug(slug) {
  return site.categories().slug( slug )
    .then(function( matchingCats ) {
      // matchingCats will be an array of the one post that matches
      // the provided slug
      if ( ! matchingCats.length ) {
        throw new Error( `No category found for slug "${slug}"` );
      }
      var catID = matchingCats[ 0 ].id;
      return site.posts().categories(catID);
    });
}

getPostsByCategorySlug( \'some-category-slug\' )
  .then(function( posts ) {
    // Do something with your posts
  })
  .catch(function( err ) {
    // Could not get categories
    console.error(err);
  });

相关推荐

在将代码添加到函数后无法登录WordPress wp-admin。php

我在函数末尾添加以下代码。php文件,用于根据自定义帖子的帖子标题填充分类法。问题是,当我添加代码时,尝试登录wp admin时会出现以下错误。非常感谢您能帮助我们弄清楚为什么会发生这种情况。Error:错误:由于意外输出,Cookie被阻止。有关帮助,请参阅此文档或尝试支持论坛。Code: <?php function update_custom_terms($post_id) { // only update terms if