这有点黑客,但并不要求您编辑核心文件,正如您所知,您永远不应该这样做。
add_action(\'admin_init\', function() {
$_GET[\'mode\'] = \'grid\';
}, 100);
这将始终强制模式进入栅格视图。
它没有做什么,
它不会删除列表视图图标,也不会更改URL中的查询参数。要删除列表视图图标,可以执行以下操作:
add_action(\'admin_head\', function() {
?>
<style type="text/css">
.view-switch .view-list {
display: none;
}
<style>
<?php
});
或者,移除
?mode=list
从URL查询参数,您可以:
使用JavaScript修改search
在上找到属性windlow.location
使用重定向用户服务器端wp_redirect()
通过检查$_GET
针对mode
查询变量数组键(recommended).例如,您可以将第一个代码段重写为:
add_action(\'admin_init\', function() {
if ( isset( $_GET[\'mode\'] ) && $_GET[\'mode\'] !== \'grid\' ) {
wp_redirect(admin_url(\'upload.php?mode=grid\'));
exit;
} else {
//required by upload.php, handle the case if user just navigates to...
//http://www.example.com/wp-admin/upload.php (with no mode query argument)
$_GET[\'mode\'] = \'grid\';
}
}, 100);
或者不需要else块,
add_action(\'admin_init\', function() {
if ( strpos(admin_url(\'upload.php\'), $_SERVER[\'REQUEST_URI\']) !== false
|| (isset($_GET[\'mode\']) && $_GET[\'mode\'] === \'list\') ) {
wp_redirect(admin_url(\'upload.php?mode=grid\'));
exit;
}
}, 100);
。。。上面的代码段确保无论发生什么情况,以下URL之一,
。。。将始终重定向到,
通过在
admin_head
钩子,生成所需的结果。