javascript - 如何在 PHP 中为 WordPress 插件编写 JavaScript 代码

标签 javascript php wordpress

我想在插件文件的 wp_enqueue_scripts 中包含 JavaScript 代码,并仅为首页加载它。

下面是有一些错误的非工作代码。我不是 PHP 开发人员。我该如何更正此代码?

function jquery_cookie_enqueue_script() {
    if ( is_front_page() ) {
        wp_enqueue_script('jquery-cookie', plugins_url( 'jquery.cookie.js', __FILE__ ));

        echo "
            <script type='text/javascript'>

                jQuery(document).ready(function() {
                    var count;
                    if ( !jQuery.cookie('wwsgd_visits') ) {
                        count = 1;
                    }
                    else {
                        count = parseInt(jQuery.cookie('wwsgd_visits'), 10) + 1;
                    }
                    jQuery.cookie('wwsgd_visits', count, { expires: 365, path: "<?php $url=parse_url(get_bloginfo('url')); echo rtrim($url['path'], '/').'/' ?>" });

                    if ( count <= <?php echo $wwsgd_settings['repetition'] ?> ) {
                        jQuery(".wwsgd").show();
                    }
                });
            </script>"
        }
    }
    add_action('wp_enqueue_scripts', 'jquery_cookie_enqueue_script');

最佳答案

添加 JavaScript 代码:

<?php
    if ( is_front_page() ) {

        function jquery_cookie_enqueue_script() {
            wp_register_script('jquery-cookie', plugin_dir_url( __FILE__ ) . 'jquery.cookie.js', false, '1.0', true);
            wp_enqueue_script('jquery-cookie');
        }
        add_action('wp_enqueue_scripts', 'jquery_cookie_enqueue_script');


        function wpb_add_script() {
?>

    <script type='text/javascript'>
        jQuery(document).ready(function() {
            var count;
            if ( !jQuery.cookie('wwsgd_visits') ) {
                count = 1;
            }
            else {
                count = parseInt(jQuery.cookie('wwsgd_visits'), 10) + 1;
            }

            <?php
            $url=parse_url(get_bloginfo('url'));
            $url_new= rtrim($url['path'], '/').'/'
            ?>
            var url = <?php echo $url_new;?>
            jQuery.cookie('wwsgd_visits', count, { expires: 365, path: url });

            var repetition = <?php echo $wwsgd_settings['repetition'];?>
            if ( count <= repetition ) {
                jQuery(".wwsgd").show();
            }
        });
    </script>

<?php
        } // For function wpb_add_script()

        //For Header

        //add_action('wp_head', 'wpb_add_script');
        //For Footer
        add_action('wp_footer', 'wpb_add_script');
    }
?>

关于javascript - 如何在 PHP 中为 WordPress 插件编写 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45053190/

相关文章:

javascript - redux 所需的 proptypes 未定义

php - 查询更新不起作用

php - 如何获取 WordPress 中自定义评论类型的总评论数

javascript - 将 unicode 转换回文本 - Wordpress JSON api

javascript - 我在哪里设置 WP TinyMCE 的初始化参数?

javascript - 添加要素图层会挂起浏览器

javascript - componentDidMount 如何在执行之前等待来自 redux 存储的值(不使用 setTimeout)?

javascript - require node.js 错误 SyntaxError : Unexpected identifier

php - AS3动态数据加载不正确

php - 将数据从 PostgreSQL 数据库移动到新的 MySQL 数据库的最简单方法是什么?