修复从前端删除自定义帖子的权限错误?

时间:2011-11-06 作者:Jennifer

我需要管理员和编辑角色用户都能够从前端删除自定义帖子类型。我找到了创建删除后链接的代码,但每当任一角色尝试删除时,都会出现错误:

禁止您无权访问/wp admin/post。此服务器上的php。

有什么想法吗?是因为这是一种自定义的帖子类型吗?删除后代码包括在下面。

在功能中。php:

function wp_delete_post_link($link = \'Delete This\', $before = \'\', $after = \'\')
{
global $post;
if ( $post->post_type == \'page\' ) {
if ( !current_user_can( \'edit_page\', $post->ID ) )
return;
} else {
if ( !current_user_can( \'edit_post\', $post->ID ) )
return;
}
$link = "<a onclick=\\"return confirm(\'Are you SURE you want to delete this post/page?\')\\" href=\'" . wp_nonce_url( get_bloginfo(\'url\') . "/wp-admin/post.php?action=delete&amp;post=" . $post->ID, \'delete-post_\' . $post->ID) . "\'>".$link."</a>";
echo $before . $link . $after;
}
插入页面:

<?php wp_delete_post_link(\'Delete\', \' <strong class="delete">\', \'</strong> \') ?>

1 个回复
SO网友:Nathan

现在,这将创建一个删除帖子链接,仅当用户同时登录并且是帖子的作者时,该链接才会显示给用户。当点击链接时,他们会得到一个js确认,询问他们是否确定,一旦点击就会删除帖子。而且它可以与自定义的帖子类型一起使用,我自己测试过。

<?php if ($post->post_author == $current_user->ID) { ?><p><a onclick="return confirm(\'Are you SURE you want to delete this post?\')" href="<?php echo get_delete_post_link( $post->ID ) ?>">Delete post</a></p><?php } ?>

结束

相关推荐

Recommended File Permissions

嘿,伙计们,我花了很长时间试图解决这个问题。我想知道WordPress中的文件权限应该是什么样子in order to use the autoupdate feature. 到目前为止,我的wordpress安装程序一直在询问我的FTP信息,我不想使用那种升级/安装方法,我想使用纯/直接PHP。某些上下文:Web服务器和php fcgi守护程序运行为www-data:www-data</wordpress安装位于/home/blaenk/sites/domain.tld/</首先,我read