循环内的GET_DELETE_POST_LINK()顽固地不返回任何内容

时间:2017-03-21 作者:dtx

我建立了一个会员网站,用户可以从前端发布列表、编辑列表,理想情况下还可以删除列表。

对于后者,我想在前端回显一个“删除帖子”链接。问题是get_delete_post_link().

因此: $theID = get_the_ID(); // inside loop echo $theID; <a href="<?php echo get_delete_post_link( $theID, \'\', false ); ?> ">Delete This Post</a>

我得到: 123 /* = $theID; */ <a href="_">Delete This Post</a>

我尝试了以下方法:

仅传递$theID作为参数,而不是传递全部三个参数$theID, \'\', trueCan't echo get_delete_post_link

  • 当我以管理员身份和普通用户身份登录时,问题都会发生(添加了容量)
  • 我确保自定义帖子类型的权限在循环外正确映射,而不是在循环内映射(法典说可以在循环内完成:https://codex.wordpress.org/Function_Reference/get_delete_post_link).
  • 这是我使用的循环:

      // arguments
      $arguments = array(
        \'post_type\'         => \'CustomType\',
        \'posts_per_page\'  => -1,
        \'author_name\'     => $current_user->user_login
      );
    
    
      // query
      $the_query = new WP_Query($arguments);
    
      <?php wp_reset_query();    // Restore global post data stomped by the_post(). ?>
        <?php if( $the_query->have_posts() ): ?>
            <?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
              <?php if( has_term( \'custom_term\', \'custom_taxonomy\' ) ): ?>
                   /* stuff happens here */
                   /* get_delete_post_link() returns nothing */
              <?php endif; ?>
            <?php endwhile; ?>
          <?php endif; ?>
       <?php wp_reset_query();   // Restore global post data stomped by the_post(). ?>
    
    我对此束手无策,任何帮助都将不胜感激。

    2 个回复
    SO网友:Netanel Perez

    如果在循环中使用get\\u delete\\u post\\u link(),则它应该在没有参数的情况下工作

    我认为您需要删除放置在if($the\\u query->have\\u posts()…)之前的wp\\u reset\\u query()。。

    SO网友:WebElaine

    是否已打开WP\\U调试并检查错误日志?如果CPT设置得不太正确,您将看到如下内容:

    "Notice: map_meta_cap was called incorrectly. The post type CustomType is not registered, so it may not be reliable to check the capability "delete_post" against a post of that type. Please see Debugging in WordPress for more information. (This message was added in version 4.4.0.) in /yourpath/wp-includes/functions.php on line XX"
    

    相关推荐

    使用WP_QUERY混合发布日期和发布元值

    正在寻找使用自定义字段将旧帖子推送到WP\\u查询中的方法。例如,我今年有10篇文章,想将过去的2篇文章重新发布到自定义rss提要。因此,对于旧帖子,必须按照帖子日期和帖子元中的值对帖子进行排序:new post - (post date: 2018-11-11) new post - (post date: 2018-11-10) old post - (post date: 2017-05-01, post-meta date: 2018-11-09) new post - (