Исправить ошибку разрешения для удаления пользовательского сообщения из front-end?

Мне нужно, чтобы пользователи роли администратора и редактора могли удалять пользовательский тип сообщения из front-end. Я нашел код для создания ссылки для удаления сообщения, но всякий раз, когда любая попытка пытается удалить, возникает ошибка:

Запрещено У вас нет разрешения на доступ к /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> ') ?> 

Solutions Collecting From Web of "Исправить ошибку разрешения для удаления пользовательского сообщения из front-end?"

Здесь вы идете, это создает ссылку «Удалить сообщение», которая появляется только пользователю, если они вошли в систему и автор сообщения. Когда нажимается ссылка, они получают подтверждение 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 } ?>