在下面的函数中show_game_category_images_func
我得到了1-2-3-4的结果。取决于我在表中声明的内容。使用add_shortcode
我得到了所有的结果。
Question: 如何拆分此函数的结果以获得1-4个不同的短代码来使用。
示例:使用我想要作为结果的函数的2个结果
[show_game_category_images-1]
和[show_game_category_images-2]
这有可能吗?
function show_game_category_images_func($atts) {
$atts = shortcode_atts( array(
\'id\' => 1,
), $atts );
$content = \'\';
global $wpdb;
$query = \'select category_id, category_name, game_nr
from wp_rdp_game_images
where display_date = "\'.date(\'Y-m-d\', strtotime(\'-2 day\')).\'"
limit \'.get_option(\'rdp_max_categories\');
$cats = $GLOBALS[\'wpdb\']->get_results($query);
if(count($cats) > 0){
$content .= \'<div id="rdp-cat" class="homepage_cats">\';
foreach($cats as $cat){
$cat->category_id;
$cat->category_name;
$query = \'select category_image from wp_rdp_category_images where category_id = \'.$cat->category_id.\' order by rand() limit 1\';
$record = $GLOBALS[\'wpdb\']->get_results($query);
if($record){
foreach($record as $key => $rec){
$content .= \'<div class="rdp-cat-image">
<div class="rdp-cat-text"><div class="cat_name">\'.$cat->category_name.\'</div>
<img src="\'.$upload_url.$rec->category_image.\'" ></div>
<div class="rdp-cat-link"><a href="/spel/?cat=\'.$cat->category_id.\'&&game=\'.$cat->game_nr.\'">Start</a></div>
</div>\';
}
$i++;
} //if($record)
} //foreach($cats
$content .= \'</div>\';
} // if(count($cats
// return $content .\' \'.$atts[\'id\'];
return $content;
}
add_shortcode(\'show_game_category_images\', \'show_game_category_images_func\');
最合适的回答,由SO网友:Krzysztof Grabania 整理而成
您可能需要声明arguments
对于短代码。这里是documentation, 以及您需要在代码中改进以使其工作的内容。
改变
function show_game_category_images_func()
至
function show_game_category_images_func($atts)
在函数顶部添加以下代码:
$a = shortcode_atts( array(
\'id\' => \'1\',
), $atts );
现在在里面
$a[\'id\']
例如,在声明shortcode时是否将值作为参数传递
[show_game_category_images id=2]