嗨,我正在尝试在我的Wordpress主题中做一些相当棘手的事情 我更像是一名设计师前端开发人员,因此我可以用php进行一些猜测。 任何人都有任何想法为什么此代码只显示一张幻灯片。我想让它在我的主题中从一个类别中运行幻灯片拉入多张幻灯片。
感谢您的帮助
//Add Nivo Short Codes
function nivo_slider_function($atts){
extract(shortcode_atts(array(
'posts' => 5,
'category' => ''
), $atts));
$args = array(
'numberposts' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
'post_type' => 'homepage_slider'
);
if ( ! empty( $category ) ) {
$args['category_name'] = $category;
}
$posts = get_posts( $args );
$homepage_slider = '<div id="slider">'; //Open the container
foreach ( $posts as $post ) { // Generate the markup for each Question
$homepage_slider .= sprintf(('<h3><a href="">%1$s</a></h3><div>%2$s</div>'),
$post->post_title,
wpautop($post->post_content)
);
}
$homepage_slider .= '</div>'; //Close the container
$return_string = '<div id="slider" class="nivoSlider">';
query_posts(array('post_type' => 'homepage_slider', 'orderby' => 'menu_order', 'order' => 'ASC' , 'showposts' => $posts));
if (have_posts()) :
while (have_posts()) : the_post();
$slider_img_src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'homepage-slide', false);
$target_link = get_post_meta(get_the_ID(), 'slide_target_link', true);
$return_string .= '<a href="'.$target_link.'" rel="nofollow"><img src="' . $slider_img_src[0] .'" /></a>';
endwhile;
endif;
$return_string .= '</div>';
wp_reset_query();
return $return_string;
}
function register_shortcodes(){
add_shortcode('slider-demo', 'nivo_slider_function');
}
add_action( 'init', 'register_shortcodes');
答案 0 :(得分:0)
我看到你在做什么,并且有一种更简单的方法。用SMART SLIDER 2替换滑块。它有不同的设置,包括一个称为动态。使用此动态滑块,您可以使用站点中某个类别的幻灯片。
我上周才发现这一点,我非常喜欢这款滑盖的灵活性。它很重,因为它可以让你做的功能不同。所以,如果你担心的话。按照您在虚假WP站点中的需要进行设置,删除HTML,PHP,JS和CSS并将其迁移到您站点的页面中。这显然会有更多的工作,但你会有一个较小的代码,你不必担心搞清楚。
祝你好运