查看5个回复-1到5个(共5个)
  • 插件作者 萨尔吉安尼迪斯

    (@gsarig)

    您好,很抱歉延迟回复。我不确定我是否理解这个要求。你是指新的基于块的小部件编辑器,或经典小工具?

    螺纹起动器 24个工作

    (@24个工作)

    亲爱的朋友,再见,
    嗯,我喜欢做以下事情:

    我想添加一个搜索/或者说检索-在osm-endpoint上,看起来是这样的


    [out:csv(::id,::type,::lon,::lat,accility,name,“地址:邮政编码”,“地址”,“街道”,“住址:门牌号”,“联系人:网站”,网站,“联系方式:电子邮件”)]
    [超时:600];
    rel[boundary=administrative][admin_level=6][name=“慕尼黑”]->.city;
    (nwr[设施=医院][名称](大约城市:300);
    nwr[设施=学校][名称](大约。城市:300);
    nwr[设施=教堂][名称](大约。城市:300);
    nwr[设施=儿童保育][名称](大约。城市:300);
    nwr[amenity=nursing_home][name](大约城市:300););
    偏心;

    好吧,那就是:如果我能够获取数据,那么我想在wordPress-site上的小部件中的一个小表格中显示这一点


    <?php(电话)
    /*
    插件名称:学校小工具
    描述:使用Overpass Turbo和令人敬畏的区块显示附近的学校。
    版本:1.0
    作者:foo bar
    */

    //直接访问时退出
    if(!defined('ABSPATH'))退出;

    //包括ACF
    include_once(插件dir_path(__FILE_)。'acf/acf.php');

    //注册ACF字段
    函数寄存器_acf_fields(){
    if(函数存在('acf添加local_field_group')){
    acf_add_local_field_group(数组(
    “key”=>“group_1”,
    “title”=>“附近学校小工具”,
    “字段”=>数组(
    阵列(
    “key”=>“field_1”,
    “label”=>“纬度”,
    '名称'=>'纬度',
    “type”=>“number”,
    “必需”=>1,
    ),
    阵列(
    “key”=>“field_2”,
    “label”=>“经度”,
    “name”=>“longitude”,
    “type”=>“number”,
    “必需”=>1,
    ),
    阵列(
    “key”=>“field_3”,
    “label”=>“半径(km)”,
    “name”=>“radius”,
    “type”=>“number”,
    “必需”=>1,
    ),
    ),
    “location”=>数组(
    阵列(
    阵列(
    “param”=>“post_type”,
    “运算符”=>“==”,
    “value”=>“page”,
    ),
    ),
    ),
    ));
    }
    }
    add_action('acf/init','register_acf_fields');

    //将必要的脚本排队
    函数acf_schools_widget_enqueue_scripts(){
    wp_enqueue_script('jquery');
    }
    add_action('wp_enqueue_scripts','acf_schools_widget_enqueue_scripts');

    //显示学校的短代码
    函数display_nearby_schools($atts){
    $latitude=get_field(“纬度”);
    $longitude=get_field(“经度”);
    $radius=get_field(“半径”);

    if(!$latitude||!$longitude||!$半径){
    return'请提供纬度、经度和半径。';
    }

    //跨越API URL
    $query='[out:json][timeout:25];(node[“accility”=“school”](大约:'.($radius*1000).',')$纬度。','$经度。'););外体;>;外骨架qt;';
    $url='http://overpss-api.de/api/cinterpreter?数据=' . urlencode($query);

    //从天桥API获取数据
    $response=wp_remote_get($url);
    if(iswp_error($response)){
    return'无法检索数据';
    }

    $body=wp_remote_retrieve_body($response);
    $data=json_decode($body,true);

    if(空($data['elements']){
    return'指定区域内没有学校';
    }

    //显示数据
    $output='<ul class=“附近学校”>';
    foreach($data['elements']作为$element){
    if(isset($element['tags']['name'])){
    $output.='<li>';
    $输出。=esc_html($element['tags']['name']);
    if(isset($element['tags']['website'])){
    $output.='-<a href=“'.esc_url($element['tags']['website']]).'”target=“_blank”>'。esc_html($element['tags']['website'])。”</a> ';
    }
    $output.='</li>';
    }
    }
    $output.='</ul>';

    返回$output;
    }
    add_shortcode('nearby_schools','display_nearby_schools');

    嗯&我想从openstreet-map获取数据,并将其显示在wordpress-site上的小部件中。你怎么想?我们能在你的插件支持下做到吗?

    插件作者 萨尔吉安尼迪斯

    (@gsarig)

    我不认为这个插件能有多大帮助,因为你所描述的听起来像是需要自定义实现的东西。您可以利用自定义字段支持,如果您想将特定帖子上的地图作为自定义字段而不是块,那么您仍然需要实现逻辑来获取数据并根据需要进行操作,以便以不同的方式显示位置。

    螺纹起动器 24个工作

    (@24个工作)

    晚上好,亲爱的乔戈斯

    首先:非常感谢您的快速回复&很高兴收到您的回复。令人惊叹的。我仔细看了你推荐的选项——这听起来很有趣——我会更深入地研究这一切

    我不认为这个插件能有多大帮助,因为你所描述的听起来像是需要自定义实现的东西。如果您想将特定帖子上的地图作为自定义字段而不是块,那么您可能可以利用自定义字段支持,但您仍必须实现逻辑以获取数据并根据需要进行操作,以便以不同的方式显示位置。

    太棒了-我很高兴成为这个伟大论坛的一员-我很满意你的推荐

    所有这些看起来都很有希望

    https://github.com/gsarig/ootb-openstreetmap/releases/tag/2.8.0

    自定义字段支持:2.8.0版本的亮点是支持“位置”自定义字段,它允许您存储帖子或帖子类型的位置。数据按照官方指南进行存储。

    非常感谢你所做的一切!!
    请继续你的伟大计划&它太棒了!!!

    插件作者 萨尔吉安尼迪斯

    (@gsarig)

    谢谢你的客气话。

    顺便说一句,如果自定义字段适用于您想要的操作,那么您也许可以查看[ootb_query]短代码。例如,类似下面的内容将输出具有位置的所有帖子的位置:

    [ootb_query source=“地理数据”]

    如果您想将其放在PHP文件中的任何位置,而不是放在post编辑器中,可以使用do_短代码,例如:

    <?php echo do_shortcode('[ootb_query source=“geodata”]');?>

    对于所有可用的选项,您可以查看插件的自述文件.

查看5个回复-1到5个(共5个)