默认情况下,当我单击媒体库中的某个项目时,会转到附件详细信息页面,例如:。.../wp-admin/upload.php?item=65
.
我需要编辑什么才能直接进入“编辑更多详细信息”页面?E、 g。.../wp-admin/post.php?post=65&action=edit
我认为这就像更改href指向的位置一样简单-但那里似乎没有a href!我假设链接是以不同的方式生成的?
默认情况下,当我单击媒体库中的某个项目时,会转到附件详细信息页面,例如:。.../wp-admin/upload.php?item=65
.
我需要编辑什么才能直接进入“编辑更多详细信息”页面?E、 g。.../wp-admin/post.php?post=65&action=edit
我认为这就像更改href指向的位置一样简单-但那里似乎没有a href!我假设链接是以不同的方式生成的?
从…起/wp-includes/script-loader.php
:
$scripts->add( \'media-grid\', "/wp-includes/js/media-grid$suffix.js", array( \'media-editor\' ), false, 1 );
发件人wp-admin/upload.php
:wp_enqueue_script( \'media-grid\' );
wp_enqueue_script( \'media\' );
wp_localize_script( \'media-grid\', \'_wpMediaGridSettings\', array(
\'adminUrl\' => parse_url( self_admin_url(), PHP_URL_PATH ),
) );
因此,我们可以尝试注销首字母media-grid.js
文件并加载我们自己的版本。这可以通过插件完成:<?php
/**
* Plugin Name: Change Media Grid link
* Plugin URI: http://wordpress.stackexchange.com/q/168981/17305
*/
add_action( \'admin_enqueue_scripts\', \'loadmyscriptinstead_168981\' );
function loadmyscriptinstead_168981 (){
wp_deregister_script( \'media-grid\' );
wp_register_script( \'media-grid\', plugin_dir_url( __FILE__ ) . \'media-grid.js\', array( \'media-editor\' ), false, 1 );
wp_localize_script( \'media-grid\', \'_wpMediaGridSettings\', array(
\'adminUrl\' => parse_url( self_admin_url(), PHP_URL_PATH ),
) );
}
插件现在将加载media-grid.js
在插件文件夹中找到文件。Disclaimer: I have no experience in Backbone, so the following is just a PoC.
这会执行此操作,但会在导航到编辑页面之前加载模式。有骨干技能的人可能会找到更干净的解决方案。将第490行更改为:
// Update browser url when navigating media details
if ( this.model ) {
this.gridRouter.navigate( this.gridRouter.baseUrl( \'?item=\' + this.model.id ) );
}
收件人:// Update browser url when navigating media details
if ( this.model ) {
this.gridRouter.navigate( this.gridRouter.baseUrl( \'?item=\' + this.model.id ) );
var currentLocation = location.href;
//replace upload.php by post.php
var newRoute = currentLocation.replace(\'upload.php\', \'post.php\');
//replace item ?item= by ?post=
newRoute = newRoute.replace(\'?item=\', \'?post=\');
newRoute += \'&action=edit\';
window.location = newRoute;
}
您将更改wordpress后端,更新时这些更改将丢失。
我建议您按下此按钮:http://i.imgur.com/5Ce3MzH.png(手头只有一个丹麦装置,但看起来应该是一样的)
这将为您提供一个详细视图,该视图中的所有链接都将指向“更多详细信息”页面。
希望这能有所帮助!
要修改的链接是通过文件中的Javascript生成的/wp-includes/js/media-grid.js
(通常加载缩小版本:/wp-includes/js/media-grid.min.js
). 第314行(在Wordpress 4.0.1中):
313: routes: {
314: \'upload.php?item=:slug\': \'showItem\',
315: \'upload.php?search=:query\': \'search\'
316: },
您可以尝试将其修改为:313: routes: {
314: \'post.php?action=edit&post=:slug\': \'showItem\',
315: \'upload.php?search=:query\': \'search\'
316: },
但我并没有亲自尝试@Jeppe认为此修改存在问题是正确的,因为更新将覆盖对所做的任何更改。js文件。我使用以下代码获取图像大小:public function getImageSizes(){ global $_wp_additional_image_sizes; $sizes = array(); foreach(get_intermediate_image_sizes() as $s){ $sizes[$s] = array(0, 0); if( in_array(