在插件 JS 中访问 Wordpress PHP 个变量
Access Wordpress PHP Variables within Plugin JS
编辑:我现在想知道如何从插件内(循环外)访问 post ID。如果我尝试获取 post id,它会 returns 0。
如何访问插件 JS 文件中特定页面的 PHP 变量?
我最初在页面模板文件中有 JS,但已将其移动到插件中。现在我不确定如何访问该页面的 PHP 变量。也许将 PHP 逻辑移动到插件函数?
内容-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.
Wordpress 有这个工作的分类功能
wp_localize_script()
看一看。这很容易做到。
http://codex.wordpress.org/Function_Reference/wp_localize_script
编辑:我现在想知道如何从插件内(循环外)访问 post ID。如果我尝试获取 post id,它会 returns 0。
如何访问插件 JS 文件中特定页面的 PHP 变量?
我最初在页面模板文件中有 JS,但已将其移动到插件中。现在我不确定如何访问该页面的 PHP 变量。也许将 PHP 逻辑移动到插件函数?
内容-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.
Wordpress 有这个工作的分类功能 wp_localize_script()
看一看。这很容易做到。 http://codex.wordpress.org/Function_Reference/wp_localize_script