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?
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?
Share Improve this question asked Mar 14, 2019 at 8:39 WopWop 132 bronze badges 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... – Krzysiek Dróżdż 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
Reset to default 0Best 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() ];
}