在Plugin JS中访问Wordpress PHP变量

时间:2015-03-21 17:46:37

标签: javascript wordpress plugins

编辑:我现在想知道如何从插件内部(循环外)访问帖子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。

1 个答案:

答案 0 :(得分:0)

Wordpress具有分类功能 wp_localize_script()

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

相关问题