我正在使用wordpress插件。在插件中,用戶首先添加一個滑塊,然後添加相關滑塊的圖像。從php函數問題傳遞參數
首先我用shortcode做到這一點。用戶在短代碼中輸入滑塊的短名稱,並輸入相關滑塊的圖像幻燈片,如[foo_slider slider=slider_one]
或[foo_slider slider=slider_two]
。
現在我「也」想要該片段,該用戶可以在代碼中添加代碼片段,例如echo wp_foo_slider(slider_two)
。但我沒有明白。
請指導我,我該怎麼做。
這是我的代碼爲簡碼的工作原理:
<?php
function wp_foo_sliders($atts) {
global $wpdb;
$tbl_sliders = $wpdb->prefix . "foo_sliders";
ob_start();
extract(shortcode_atts(array(
'slider' => '',
), $atts));
$get_sliders = $wpdb->get_results("Select * From $tbl_sliders Where slider_shortname = '$slider'");
?>
<div class="foo_main_slider">
<?php
foreach ($get_sliders as $get_slider) {
$slider_id = $get_slider->slider_id;
?>
<div class="foo_slider_img">
<?php
$get_slider_image = $wpdb->get_results("Select * From ".$wpdb->prefix."foo_images Where
slider_id = $slider_id Order By image_order ASC");
foreach ($get_slider_image as $foo_img) {
?>
<img src="<?php echo $foo_img->image_path . $foo_img->image_name; ?>" alt="">
<?php
}
}
return ob_get_clean();
}
add_shortcode("foo_slider", "wp_foo_sliders");
?>
我也試試這個由我自己<?php echo wp_foo_sliders("slider_two") ?>
或<?php echo wp_foo_sliders(slider_two) ?>
,在代碼中,當我刷新瀏覽器只<div class="foo_main_slider"> </div>
出現無圖像顯示。
編輯:我想用戶可以使用短代碼<?php echo do_shortcode('[foo_slider slider=slider_one]'); ?>
或用戶可以使用片斷<?php echo wp_foo_sliders("slider_two") ?>
,只有簡碼工作,內容片段無法正常工作。
我犯了什麼錯誤,請幫助我。
你想手動使用短代碼在你的PHP文件。是這樣嗎? – 2014-10-28 06:16:55
編輯我的問題@Rohil_PHPBeginner – deemi 2014-10-28 06:24:06
你的簡碼的名字叫做'foo_slider',不'wp_foo_sliders' – 2014-10-28 06:39:58