-2

如何自定义添加新帖子链接或如何在添加新帖子链接中添加自定义参数,例如http://www.test.localhost/wp-admin/post-new.php看起来像http://www。测试/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='')在管理面板中的任何位置

4

3 回答 3

1

这是不可能的。这没有钩子。这些都是post-new.php核心文件中出现的所有内容:

在此处输入图像描述

正如你所看到的,没有模式,没有共同点,也没有钩子。您需要一份详细列出要更改链接的位置,然后继续处理它们的目标global $submenu,如 jQuery 等。

于 2013-09-18T02:39:26.250 回答
1

这可以通过使用 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 );
于 2015-08-27T11:45:11.657 回答
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' );
                    }
            }
    });
});
于 2013-11-18T20:56:21.257 回答