如果脚本不是管理员,如何加载脚本?

时间:2016-11-18 09:57:03

标签: wordpress

我正在尝试添加一个函数来向wp_head()添加脚本,但我希望为除admin之外的任何人加载此脚本。所以我使用条件if(!is_admin)来实现这一点。但它一直为管理员加载。需要做哪些修改? 这是我使用的代码:

function add_this_script_footer(){
    if(!is_admin()) :
    ?>
        <script type="text/javascript">
            var message="My massage";
            function clickIE4(){
                if (event.button==2){
                    alert(message);
                    return false;
                }
            }

            function clickNS4(e){
                if (document.layers||document.getElementById&&!document.all){
                   if (e.which==2||e.which==3){
                      alert(message);
                      return false;
                    }
                }
            }

            if (document.layers){
                document.captureEvents(Event.MOUSEDOWN);
                document.onmousedown=clickNS4;
            } else if (document.all&&!document.getElementById){
                document.onmousedown=clickIE4;
            }

            document.oncontextmenu=new Function("alert(message);return false")
        </script>
    <?php 
    endif;
} 
add_action('wp_footer', 'add_this_script_footer');

1 个答案:

答案 0 :(得分:1)

在主题文件夹中创建一个js文件。

<强> Mycustomjs.js

        var message="My massage";
        function clickIE4(){
            if (event.button==2){
                alert(message);
                return false;
            }
        }

        function clickNS4(e){
            if (document.layers||document.getElementById&&!document.all){
               if (e.which==2||e.which==3){
                  alert(message);
                  return false;
                }
            }
        }

        if (document.layers){
            document.captureEvents(Event.MOUSEDOWN);
            document.onmousedown=clickNS4;
        } else if (document.all&&!document.getElementById){
            document.onmousedown=clickIE4;
        }

        document.oncontextmenu=new Function("alert(message);return false")

将此代码添加到function.php

/*add js from template root folder*/

function my_custom_scripts() {
    if(!current_user_can('administrator')){
    wp_enqueue_script('my-custom-jquery', get_template_directory_uri() . '/Mycustomjs.js', array('jquery'));
    }
}
add_action('wp_enqueue_scripts', 'my_custom_scripts');