将Java代码添加到函数。php子主题

时间:2020-08-20 作者:shotput_wp

我想将以下JavaScript函数添加到wordpress子主题(functions.php)中。不幸的是,我没能做到。功能:

$.fn.cityAutocomplete.transliterate = function (s) {

       s = String(s);

       return s;

   };
我试过这个:

<?php
    add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
    function my_theme_enqueue_styles() {
        wp_enqueue_style( \'listingpr-parent-style\', get_template_directory_uri() . \'/style.css\' );
    }
    
    echo "<script>fn.cityAutocomplete.transliterate();</script>";
   
 
    ?>
但它不起作用。请帮我解决我的问题。谢谢你!

regardsshotput\\U wp

2 个回复
SO网友:Jagruti Rakholiya

尝试以下操作:

add_action("wp_footer","custom_footer_script");
function custom_footer_script(){
?>
    <script>
          //your script here
    </script>  
<?php

}
这将向页脚添加脚本

SO网友:Tony Djukic

你不能仅仅通过这样的回音来添加代码。这个wp_enqueue_scripts 行动不是那样的。

所以你有两个选择。

第一个选项,创建一个名为cityautocomplete.js 并将其放在子主题目录/文件夹中。在该文件中粘贴以下内容:

(function( $ ) {
    \'use strict\';
    $( document ).ready( function() {
        $.fn.cityAutocomplete.transliterate = function(s) {
            s = String(s);
            return s;
        };
    } );
} )( jQuery );
然后,在你的functions.php 在尝试粘贴脚本的位置,添加以下内容:

wp_enqueue_script( \'cityautocomplete\', get_stylesheet_directory_uri() . \'cityautocomplete.js\', array( \'jquery\' ), \'1.x\', true );
(更改1.x以匹配您的子主题版本号。)

这是首选的方法。您甚至可以/应该考虑将文件命名为child.js 然后将任何额外的javascript/jQuery放入其中,这样您只需将一个文件排队,而不是用简单的JS位将大量文件排队。

第二个选项是打印出主题页眉或页脚中的脚本内容。将以下内容粘贴到functions.php 文件:

    function cityAutocomplete(){
    ?>
    <script type="text/javascript">
    (function( $ ) {
        \'use strict\';
        $( document ).ready( function() {
            $.fn.cityAutocomplete.transliterate = function(s) {
                s = String(s);
                return s;
            };
        } );
    } )( jQuery );
    </script>
<?php
    };
然后取决于您是否需要<head> 标记,或者如果在页脚中效果更好,请使用以下选项之一:

add_action( \'wp_head\', \'cityAutocomplete\' ); //for <head> inclusion

add_action( \'wp_footer\', \'cityAutocomplete\' ); //for footer inclusion

不要两者都用,否则你的脚本会加倍。

相关推荐

Functions.php上未定义$_GET和&_REQUEST索引

我最近尝试学习为我的自定义主题创建一个主题选项页面,这是按照stackoverflow和其他资源的教程进行的。但脚本显示错误if ($_GET[\'page\'] == basename(__FILE__)) { if (\'save\' == $_REQUEST[\'formaction\']) { foreach ($options as $value) { if( isset( $_REQUEST[ $value[\'id\']