我用过
// 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失败页面。但如果我把动作改成垃圾,效果会很好。我需要删除才能工作。有人能帮忙吗?
最合适的回答,由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);