删除帖子链接以删除帖子、其元数据和附件

时间:2011-09-12 作者:booota

我用过

// Delete Post Link
function wp_delete_post_link($link = \'Delete This\', $before = \'\', $after = \'\', $title="Move this item to the Trash", $cssClass="") {
    global $post;
    if ( $post->post_type == \'page\' ) {
        if ( !current_user_can( \'edit_page\' ) )
            return;
    } else {
        if ( !current_user_can( \'edit_post\' ) )
            return;
    }
    $delLink = wp_nonce_url( site_url() . "/wp-admin/post.php?action=delete&post=" . $post->ID, \'trash-\' . $post->post_type . \'_\' . $post->ID);
    $link = \'<a class="\' . $cssClass . \'" href="\' . $delLink . \'" onclick="javascript:if(!confirm(\\\'Are you sure you want to move this item to trash?\\\')) return false;" title="\'.$title.\'" />\'.$link."</a>";
    return $before . $link . $after;
}
要在自定义主题中添加删除帖子链接,

<?php echo wp_delete_post_link(); ?>
但由于某些原因,它并没有删除所有附加的信息。只有帖子被删除。我检查了媒体库,附件还在那里。

如何实现删除所有链接到帖子的内容?

请注意,我是在前端实现这一点,而不是在管理端。

另外,我添加了delete\\u post操作,并在其中调用wp\\u delete\\u attachment函数来删除附件。但上述教程生成的删除链接由于计算的nonce无效而导致wp失败页面。但如果我把动作改成垃圾,效果会很好。我需要删除才能工作。有人能帮忙吗?sample image

2 个回复
最合适的回答,由SO网友:Scott 整理而成

请尝试使用这些删除链接。您的格式似乎不正确。

对于删除:

$delLink = wp_nonce_url( admin_url() . "post.php", "post=" . $post->ID . "&action=delete");
对于垃圾:

$delLink = wp_nonce_url( admin_url() . "post.php", "post=" . $post->ID . "&action=trash");
编辑:

否,请尝试以下操作:

$post_type = get_post_type($post);
$delLink = wp_nonce_url( admin_url() . "post.php?post=" . $post->ID . "&action=delete", \'delete-\' . $post_type . \'_\' . $post->ID);

SO网友:Rarst

附件不被视为帖子的一部分,因为它们可以在多个地方轻松使用。

删除它们要比那个教程中的解决方案复杂得多。您需要将链接的自定义处理程序放在一起(作为Ajax操作或其他内容),并在该处理程序中检索与帖子关联的附件,然后将其与帖子本身一起删除。

结束

相关推荐

Pagination for query_posts();

我知道有很多像这样的问题,我也读过,但我还是不能让它工作。。。我有这个问题:query_posts(array(\'cat\'=>3,\'posts_per_page\'=>5)); 我只需在中显示以下内容while (have_posts()) : the_post(); 循环如何向此添加分页?我正在尝试添加posts_nav_link(); (我不知道调用我想要的功能是否正确)和显示的链接将我带到http://mysite.com/page/2. 由于它是我的索引页,所以可以不在