我正在运行一个 Wordpress 网站和我安装的主题,它带有一个显示在主页上的 nivoSlider。现在,我可以通过登录 WP 仪表板并导航到主题选项面板来选择要在主页上显示的滑块。从那里,我可以从下拉列表中选择要在主页上显示的滑块(随着我创建更多滑块,列表会不断填充)。这是与主题选项面板中“滑块”部分相呼应的代码:
//------------------------------------------------------------------------------
// SLIDER
//------------------------------------------------------------------------------
$options[] = array( "name" => __('SLIDER','gxg_textdomain'),
"type" => "heading",
"img" => "/includes/admin/images/s.png");
$options[] = array( "name" => __('Set up your slider','gxg_textdomain'),
"type" => "info");
$options[] = array( "name" => __('Show Slider on Homepage','gxg_textdomain'),
"id" => $shortname."_slider",
"std" => "1",
"type" => "checkbox");
$options[] = array( "name" => __('Select a Slider','gxg_textdomain'),
"desc" => __('After you have created a slider, you can select it here.','gxg_textdomain'),
"id" => $shortname."_sliderimages",
"type" => "select",
"options" => $options_slides);
这是 header.php 文件中的代码,它与主页上的滑块相呼应:
<?php get_template_part( 'slider' ); ?>
现在,如果我将上述代码放在任何模板文件中以在该特定模板上显示滑块,则显示的唯一滑块是从主题选项面板中选择的滑块。这是slider.php文件中的代码:
<div id="slider" class="nivoSlider">
<?php
if ( of_get_option('gg_slider') && of_get_option('gg_sliderimages') ) {
global $wpdb, $post;
$slider = of_get_option('gg_sliderimages');
$meta = get_post_meta( $slider, 'gxg_slider_images', false );
if ( !is_array( $meta ) )
$meta = ( array ) $meta;
if ( !empty( $meta ) ) {
$meta = implode( ',', $meta );
$images = $wpdb->get_col( "
SELECT ID FROM $wpdb->posts
WHERE post_type = 'attachment'
AND ID IN ( $meta )
ORDER BY menu_order ASC
" );
foreach ( $images as $att ) {
// Get image's source
$src = wp_get_attachment_image_src( $att, 'full' );
$src = $src[0];
$caption = get_post_meta( $att , '_slidercaption', true);
$caption = htmlspecialchars($caption, ENT_QUOTES);
$cf = get_post_meta( $att , '_sliderurl', true);
// Show image
if ($cf) {
echo "<a href='$cf'><img src='{$src}' alt='' title='$caption' /></a>";
} else {
echo "<img src='{$src}' alt='' title='$caption' />";
}
}
}
}
?>
</div><!-- .slider-->
我基本上想要做的是我想修改slider.php文件,以便我可以直接输入滑块的ID或滑块的slug(在slider.php文件内),以便它是echo无论我在“主题选项”面板中选择了哪个滑块,都会退出。据我了解,这可能是根据我在“主题选项”面板中的选择来选择滑块的代码:
$slider = of_get_option('gg_sliderimages');
而不是of_get_option('gg_sliderimages')
上面代码中的“”,我想知道是否有任何方法可以输入我想要显示的滑块的 ID/slug。
期待解决方案。谢谢你。