如何自定义添加新帖子链接,或者如何添加自定义参数以添加新帖子链接,例如 http://www.test.localhost/wp-admin/post-new.php ,如下所示 http://www.test/wp-admin/post-new.php?lang=fr
我已通过
自定义菜单中的链接global $menu, $submenu;
$submenu['edit.php'][10][2]='post-new.php?lang='.ICL_LANGUAGE_CODE;
但我想挂钩管理面板中出现的所有链接(post-new.php?lang='')
答案 0 :(得分:1)
这是不可能的。对此没有任何吸引力。这些都是核心文件中出现的post-new.php
:
正如你所看到的那样,没有模式,也没有共同点和钩子。您需要详细列出要更改链接的位置,然后继续执行任何目标,global $submenu
,jQuery等。
答案 1 :(得分:0)
你想考虑一些丑陋的工作吗?
jQuery(document).ready( function (){
jQuery('a').each( function (){
//first check that a is pointing towards the link you required
var pattern = /post\-new\.php/;
// check that it isn't already containing what you are looking for
var patternLang = /lang\=fr/;
// before adding query string make it sure that you would need to append using '?' or '&'
var patternQString = /\.php\?/;
var href = jQuery(this).attr('href');
if(pattern.test(href)){
if(!patternLang.test(href)){
if(patternQString.test(href)) $(this).attr('href', href + '&lang=fr' );
else $(this).attr('href', href + '?lang=fr' );
}
}
});
});
答案 2 :(得分:0)
这可以通过使用admin_url过滤器来实现:
function add_new_post_url( $url, $path, $blog_id ) {
if ( $path == "post-new.php" ) {
$path = "post-new.php?lang=" . ICL_LANGUAGE_CODE;
}
return $path;
}
add_filter( 'admin_url', 'add_new_post_url', 10, 3 );