最初的目标是:
所有用户都可以在前端的页面上添加和删除图像,但他们只能看到自己的图像。
当在网站的管理部分时,管理员应该看到来自每个用户的所有图像。(只有管理员才能访问网站的管理部分)。
到目前为止,我有以下代码:
add_action( \'pre_get_posts\',\'users_own_attachments\' );
function users_own_attachments( $wp_query_obj ) {
global $current_user, $pagenow;
$is_attachment_request = ($wp_query_obj->get(\'post_type\')==\'attachment\');
if( !$is_attachment_request )
return;
if( !is_a( $current_user, \'WP_User\') )
return;
if( !in_array( $pagenow, array( \'upload.php\', \'admin-ajax.php\' ) ) )
return;
if(basename(get_page_template()) === \'upload.php\')
return;
if ( ! is_admin() && $query->is_main_query() )
return;
$wp_query_obj->set(\'author\', $current_user->ID );
return;
}
然而
$pagenow
始终返回
admin-ajax.php
, 不管它在哪一页上,而且
basename(get_page_template())
始终仅返回主URL。
$wp_query_obj
里面没有任何有用的信息。
如何检查用户是否正在上载。php,还是在网站的另一个页面上?
谢谢