编辑:我现在想知道如何从插件内部(循环外)访问帖子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。
答案 0 :(得分:0)
Wordpress具有分类功能 wp_localize_script()
看一看。这很容易做到。 http://codex.wordpress.org/Function_Reference/wp_localize_script