在Plugin JS中访问Wordpress PHP变量(Access Wordpress PHP Variables within Plugin JS)

编程入门 行业动态 更新时间:2024-10-25 08:24:53
在Plugin JS中访问Wordpress PHP变量(Access Wordpress PHP Variables within Plugin JS)

编辑:我现在想知道如何从插件(循环外)访问帖子ID。 如果我尝试获取帖子ID,则返回0。

如何在插件JS文件中访问特定页面的PHP变量?

我最初在页面模板文件中有JS,但已将其移动到插件中。 现在我不确定如何访问该页面的PHP变量。 也许将PHP逻辑移动到插件函数?

content-course.php(JS)

<?php $user_id = get_current_user_id(); $course_id = $post->ID; $vimeo_progress = 0; $vimeo_seconds = 0; if ( is_user_logged_in() ) { // Run WP query to retrieve user progress $row = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $table_name WHERE user_id = %d AND course_id = %d;", $user_id, $course_id) ); if ($row) { $vimeo_seconds = $row->seconds_played; $vimeo_progress = $row->progress_percent; } } ?> <script> jQuery(document).ready(function($) { var progress = <?php echo $vimeo_progress; ?>; var seconds = <?php echo $vimeo_seconds; ?>; var userProgress = <?php echo $vimeo_seconds; ?>; //example user data retrieved var lastUpdateProgress = <?php echo $vimeo_progress; ?>; var videoUrl; var courseID = <?php echo $course_id; ?>; </script>

如果移动到插件,JS脚本如何能够访问PHP变量? 我是否需要将PHP上面的脚本移动到插件函数..因为那时我不确定它如何将数据传递给JS。

edit: I'm now wondering how I can access post ID from within plugin (outside of loop). If I try to get the post id, it returns 0.

How does one access a specific page's PHP variables within a plugin JS file?

I originally had the JS in the page template file but have moved it to a plugin. Now I am unsure how to access that page's PHP variables. Maybe move the PHP logic to a plugin function?

content-course.php (JS)

<?php $user_id = get_current_user_id(); $course_id = $post->ID; $vimeo_progress = 0; $vimeo_seconds = 0; if ( is_user_logged_in() ) { // Run WP query to retrieve user progress $row = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $table_name WHERE user_id = %d AND course_id = %d;", $user_id, $course_id) ); if ($row) { $vimeo_seconds = $row->seconds_played; $vimeo_progress = $row->progress_percent; } } ?> <script> jQuery(document).ready(function($) { var progress = <?php echo $vimeo_progress; ?>; var seconds = <?php echo $vimeo_seconds; ?>; var userProgress = <?php echo $vimeo_seconds; ?>; //example user data retrieved var lastUpdateProgress = <?php echo $vimeo_progress; ?>; var videoUrl; var courseID = <?php echo $course_id; ?>; </script>

How would the JS script be able to access the PHP variables if moved to the plugin? Do I need to move the PHP above the script to a plugin function.. because then I am not sure how it would pass the data to the JS.

最满意答案

Wordpress具有作业的分类函数wp_localize_script()

看一看。 这很容易做到。 http://codex.wordpress.org/Function_Reference/wp_localize_script

Wordpress have a classified function for the job wp_localize_script()

Take a look. It's very easy to do. http://codex.wordpress.org/Function_Reference/wp_localize_script

更多推荐

本文发布于:2023-08-03 13:20:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1390792.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:变量   Wordpress   Plugin   JS   Variables

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!