我建立了一个会员网站,用户可以从前端发布列表、编辑列表,理想情况下还可以删除列表。
对于后者,我想在前端回显一个“删除帖子”链接。问题是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, \'\', true
按照此处的答案进行检查:Can'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(). ?>
我对此束手无策,任何帮助都将不胜感激。