在每页上显示自己的短码数据

时间:2019-03-14 作者:Wop

我有短代码[城市],我需要的是,当我用这个短代码将我的页面导入到wordpress时,页面id有自己的城市。可以这样做吗?

我创建了一个简单的短代码:

add_shortcode (\'cities\', \'show_cities\');
function show_cities(){
    return "New York";
}
我想我需要一些带有城市和页面id的数组,但我不知道怎么做。你能给我一个提示吗?

1 个回复
最合适的回答,由SO网友:Qaisar Feroz 整理而成

实现所需功能的最佳方法是使用post\\u元/自定义字段。

add_shortcode (\'cities\', \'show_cities\');
function show_cities(){
   /* 
      Create a custom field \'city\' to save city name in page editor
   */

   $city = get_post_meta( get_the_id(), \'city\', true );

   return $city;
}
使用数组还可以执行以下操作:

add_shortcode (\'cities\', \'show_cities\');
function show_cities(){
   /* 
      Create an array using Page_id as index, e.g.
      $cities [ \'page_id\' ] = "City Name";
   */

   $cities [ 7 ] = "New York";
   $cities [ 10 ] = "Alabama";

   return $cities [ get_the_id() ];
}

相关推荐

Do not parse shortcode in CPT

我有一个CPT,我不想在它的内容中解析shortcode(使用\\u content()函数)。我可以使用remove\\u filter删除短代码的默认过滤器。但我如何确定我只是为了我想要的CPT而删除过滤器?我有一个在页面中使用的快捷码[我的自定义快捷码]。此短代码使用WP\\U查询和输出CPT帖子。我不想在这篇CPT文章中分析短代码。我是否应该在短代码解析挂钩之前用虚拟内容更改短代码,并在之后替换回来?或者我应该在我的CPT输出之前删除短代码的默认过滤器,然后在我的CPT输出完成后再次添加短代码的默