编辑:我现在想知道如何从插件(循环外)访问帖子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
更多推荐
发布评论