使用Nivo滑块内的精选帖子

时间:2012-12-10 20:23:39

标签: wordpress nivo-slider

我遵循了以下教程: - http://www.tutorialstag.com/wordpress-featured-posts-using-nivo-slider.html#codesyntax_1

使用精选帖子功能将nivoslider集成到我的主题中。但是滑块似乎没有加载。 JS和CSS正在加载但没有图像。

我已将帖子设为特色图片,但再次没有运气。

请参阅下面的我的函数文件:

<?php
if (!is_admin()) add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
wp_deregister_script('jquery');
wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null);
wp_enqueue_script('jquery');

wp_register_script( 'jquery-ui', get_template_directory_uri().'/js/jquery-ui.min.js', array('jquery'), true );
wp_enqueue_script( 'jquery-ui' );

wp_register_script( 'custom', get_template_directory_uri().'/js/custom.js', array('jquery-ui'), true );
wp_enqueue_script( 'custom' );

wp_register_script( 'superfish', get_template_directory_uri().'/js/superfish.js', array('jquery'), true );
wp_enqueue_script( 'superfish' );
}
?>
<?php register_nav_menu('main', 'Main navigation menu'); ?>
<?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'Footer',
'before_widget' => '',
'after_widget' => '',
'before_title' => '<center><h2>',
'after_title' => '</h2></center>',
));
register_sidebar(array(
'name' => 'Footer Widget 1',
'id'        => 'footer-1',
'description' => 'First footer widget area',
'before_widget' => '<div id="footer-widget1">',
'after_widget' => '</div>',
'before_title' => '<h2>',
'after_title' => '</h2>',
));
register_sidebar(array(
'name' => 'Footer Widget 2',
'id'        => 'footer-2',
'description' => 'Second footer widget area',
'before_widget' => '<div id="footer-widget2">',
'after_widget' => '</div>',
'before_title' => '<h2>',
'after_title' => '</h2>',
));
register_sidebar(array(
'name' => 'Footer Widget 3',
'id'        => 'footer-3',
'description' => 'Third footer widget area',
'before_widget' => '<div id="footer-widget3">',
'after_widget' => '</div>',
'before_title' => '<h2>',
'after_title' => '</h2>',
));
?>
<?php
/**
Wordpress Featured Posts with Nivo Slider
*
Author: Kannan C
url: http://www.tutorialstag.com/wordpress-featured-posts-using-nivo-slider.html
*/
//Paste the following code to your theme's functions.php file
//Don't forget to place the required Nivo slider files in to your theme's folder. Otherwise, the slider cannot work.
add_theme_support( 'post-thumbnails' );
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'sliding-images', 800, 400, true );
}   
//Featured posts using Nivo Slider
add_action("admin_init", "selection_meta_box");
function selection_meta_box(){
//add_meta_box("featured-post", "Set Featured", "featured_post", "post", "side", "low"); Uncomment this line and comment the below foreach loop if you want the Set Featured option only for posts
$post_types_array = get_post_types();
foreach ( $post_types_array as $post_type ) {
add_meta_box("featured-post", "Set Featured", "featured_post", $post-type, "side", "low");
}
}
function featured_post(){
global $post;
$meta_data = get_post_custom($post->ID);
$featured_post = $meta_data["_featured_post"][0];
$selected = ($meta_data["_featured_post"][0] == "yes") ? 'checked' : '';
echo "<p>";
echo "<input $selected type='checkbox' name='featured_post' value='yes' />";
echo "<label>Select this post as Featured.</label>";
echo "</p>";
}
add_action('save_post', 'save_post_details');
function save_post_details(){
global $post;
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) 
    return;
    $featured_post = trim($_POST["featured_post"]);
    update_post_meta($post->ID, "_featured_post", $featured_post);
}

function show_featured_posts($numbers) {
    global $post;
    //get $numbers of featured posts
    $featured_posts_array = get_posts( 'post_type=any&meta_key=_featured_post&meta_value=yes&numberposts='.$numbers.'&post_status=publish');
    $output .= '<div class="slider-wrapper theme-default">';
    $output .= '<div class="ribbon"></div>';
    $output .= '<div id="slider" class="nivoSlider">';
    foreach ($featured_posts_array as $post) :  setup_postdata($post); 
    $nivo_title = "#nivo".get_the_ID(); //assign the postID as title of the image
    if ( function_exists("has_post_thumbnail") && has_post_thumbnail() ) { 
    $output .= get_the_post_thumbnail(get_the_ID(), array(800,400), array( "class" => "post_thumbnail", 'title' => $nivo_title )); }
    $caption .= "<div id='nivo".get_the_ID()."' class='nivo-html-caption'>
            <h2><a href='".get_permalink()."'>".get_the_title()."</a></h2>
            ".get_the_excerpt()."
        </div>";
    endforeach;
    $output .= '</div>';
    $output .= $caption;
    $output .= '</div>';
    return $output;
    //reset WP query
    wp_reset_query();
}

function include_nivo_scripts() {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js');
    wp_register_script( 'nivopack', get_bloginfo('template_directory').'/js/jquery.nivo.slider.pack.js');
    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'nivopack' );
}    
add_theme_support( 'post-thumbnails' );
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'sliding-images', 800, 400, true );
}
add_action('wp_enqueue_scripts', 'include_nivo_scripts');

add_action('wp_print_styles', 'add_nivo_stylesheets');
function add_nivo_stylesheets() {
     wp_register_style('nivo_theme_style', get_bloginfo('template_directory').'/js/default.css');
     wp_register_style('nivo_main_style', get_bloginfo('template_directory').'/js/nivo-slider.css');
     wp_enqueue_style( 'nivo_theme_style');
     wp_enqueue_style( 'nivo_main_style');
}

add_action('wp_footer', 'nivo_functioncall');
function nivo_functioncall() {
    echo '<script type="text/javascript">
    $(window).load(function() {
    $("#slider").nivoSlider();
    });
    </script>';
}

function tg_featured_posts($atts, $content = null) {
    extract(shortcode_atts(array(
        "numbers" => '5'
    ), $atts));
    echo show_featured_posts($numbers);
}
add_shortcode('featured', 'tg_featured_posts');

?>

有人可以帮忙吗?感谢

1 个答案:

答案 0 :(得分:0)

由于我遇到了同样的问题,插件的javascript可能与其他人的javascript冲突。您是否检查过控制台是否存在javascript错误?