1

I have shortcode [cities] and i need that when i import my pages to wordpress with text with this shortcode, there was own city by page id. Is it possible to do?

I created a simple shortcode:

add_shortcode ('cities', 'show_cities');
function show_cities(){
    return "New York";
}

Think that i need some array with cities and page id's but i don't understand how to do this. Can you give me a hint?

2
  • Hi, could you explain a little bit more what exactly do you want to achieve? How should that shortcode work? Some examples would be great too, I guess... Commented Mar 14, 2019 at 8:41
  • For example: i have 100 pages with special offers for cities. On each page unique city and unique offer. I need to put on each page shortcode [cities] for show right city for this page by page id. If page id 7 then show New York, if page id 10 > show Alabama
    – Wop
    Commented Mar 14, 2019 at 8:46

1 Answer 1

0

Best way to achieve the desired functionality is to use post_meta / custom field.

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;
}

Using an array can also do the work as under:

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() ];
}
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.