如何从WordPress列表中获取值并在javascript数组中使用它们?

时间:2014-07-21 作者:user3697700

我试图从WordPress数据库中获取值(纬度、经度和图像),并将其放入javascript数组中。

不幸的是,我是Javascript和PHP的新手!

以下是我目前掌握的代码:

getdata.php:

<?php
    require_once( $_SERVER[\'DOCUMENT_ROOT\'] . \'/wp-config.php\' );
    require_once( $_SERVER[\'DOCUMENT_ROOT\'] . \'/wp-load.php\' );  
?>

distance.php:

<?php
  include \'getdata.php\';
?>
<html>
<head>
<script  type="text/javascript">

  <?php $args = array( \'post_type\' => \'listing\', \'p\' => $post_id ); ?>
  values = [ <?php
                            $listing_marker_loop = new WP_Query( $args );

                            while ( $listing_marker_loop->have_posts() ) : $listing_marker_loop->the_post(); 

                            $address = get_field(\'location\');

                            global $post;
                            // load all \'categories\' terms for the post

                            endwhile;
  ?>];

  alert(values[1]);

</script>
</head>
<body></body>
</html>
我想让它给我一个提醒,这样我就知道我在正确的轨道上了!

有人能告诉我怎么做吗?

1 个回复
SO网友:HU ist Sebastian

编辑:更改插件中要使用的代码。

好的,根据你提供的信息,你可以这样做:

步骤1)将Javascript映射加载内容放入。js文件。将其保存在插件目录中的某个位置,如“myplugin/mapscript.js”

步骤2)在插件目录中创建一个文件,如“myplugin/myplugin.php”。插入插件标题,以便wordpress能够识别它:

<?php
/**
 * Plugin Name: My Superawesome Map stuff Plugin
 * Description: Does Maps and Stuff
 * Version: 1.0
 * Author: YOUR_NAME
 * License: GPL2
 */
在插件myplugin中插入函数。php,您可以在其中注册&;将脚本排队。

function mapstuff_load_scripts() {
 if(is_singular()) {
 global $post;  
 wp_enqueue_script(\'mapstuff-script\', plugins_url( \'mapscript.js\', __FILE__ ));
    wp_localize_script(\'mapstuff-script\', \'mapstuff_script_vars\', array(
            \'lat\' => get_post_meta($post->ID,\'lat\',TRUE),
            \'lng\' => get_post_meta($post->ID,\'lng\',TRUE),
            \'addrimg\' => get_post_meta($post->ID,\'addrimg\',TRUE)
        )
    );
 }
}
add_action(\'wp_enqueue_scripts\', \'mapstuff_load_scripts\');
我添加了条件is\\u singular,以确保它仅加载在帖子/页面视图上,而不是搜索和索引页面上。

步骤3)在插件中添加一个短代码的代码,以便您可以将其插入到页面/帖子/任何地方

add_shortcode(\'awesomemap\',\'do_awesome_map\');
function do_awesome_map($args = array()){
   $returnage = "THE STUFF THAT NEEDS TO BE INSERTED FOR THE MAP TO LOAD";
   return $returnage;
}
步骤4)您的本地化变量将位于javascript数组中,因此更改您的mapscript以使用这些变量,如下所示:

 alert(mapstuff_script_vars.lng);
 alert(mapstuff_script_vars.lat);
 alert(mapstuff_script_vars.addrimg);
步骤4)上传,在页面/帖子中插入短代码[awesomemap],成功!;)

快乐的编码,

Kuchenundkakao

结束

相关推荐

插件管理菜单中的EDIT-TAGS.php在活动页面时隐藏

对于我正在构建的插件,我在admin中的自定义主菜单项中添加了一个子菜单作为子菜单。子菜单页是edit-tags.php 页这将按预期显示在主菜单项下。单击此子菜单项时,用户将进入正确的页面,但主菜单项会向下折叠,隐藏当前打开的子菜单项。我最初的感觉是父slug属性是错误的,但我添加的其他子菜单使用相同的父slug属性,并且它们工作正常。很明显,我在add_submenu_page() 函数,但我不知道是什么。下面是我注册子菜单的方式:$this->plugin_screen_dashboard =