1

我正在将register_sidebar函数添加到我的functions.php文件中,如下所示:

 <?php
add_action( 'after_setup_theme', 'handheld_setup' );
if ( ! function_exists( 'handheld_setup' ) ){
    function handheld_setup(){
        global $et_mobile_theme_options;

        load_theme_textdomain( 'HandHeld', TEMPLATEPATH . '/languages' );

        add_action( 'wp_ajax_nopriv_et_show_ajax_posts', 'et_show_ajax_posts' );
        add_action( 'wp_ajax_et_show_ajax_posts', 'et_show_ajax_posts' );

        if ( isset( $et_mobile_theme_options['bg_color'] ) && '' != $et_mobile_theme_options['bg_color'] ) add_action( 'wp_head','et_add_bgcolor' );

        add_filter( 'template_include', 'et_check_homepage_static' );

        add_action( 'wp_head', 'et_add_apple_touch_images', 7 );
    }
}

function et_add_apple_touch_images(){
    global $et_mobile_theme_options;

    $webpage_icon_small = isset( $et_mobile_theme_options['webpage_icon_small'] ) && '' != $et_mobile_theme_options['webpage_icon_small'] ? $et_mobile_theme_options['webpage_icon_small'] : get_template_directory_uri() . '/images/ios_icons/apple-touch-icon-precomposed.png';
    $webpage_icon_big = isset( $et_mobile_theme_options['webpage_icon_big'] ) && '' != $et_mobile_theme_options['webpage_icon_big'] ? $et_mobile_theme_options['webpage_icon_big'] : get_template_directory_uri() . '/images/ios_icons/apple-touch-icon.png';
    $splash_image = isset( $et_mobile_theme_options['splash_image'] ) && '' != $et_mobile_theme_options['splash_image'] ? $et_mobile_theme_options['splash_image'] : get_template_directory_uri() . '/images/ios_icons/splash.png';

    echo '<link rel="apple-touch-icon-precomposed" href="' . esc_url( $webpage_icon_small ) . '" />';
    echo '<link rel="apple-touch-icon-precomposed" sizes="114x114" href="' . esc_url( $webpage_icon_big ) . '" />';
    echo '<link rel="apple-touch-startup-image" href="' . esc_url( $splash_image ) . '" />';
}

function et_check_homepage_static( $template ){
    # if static homepage is set ( WP-Admin / Settings / Reading ) and we're on the homepage, load home.php
    if ( is_front_page() && ! is_home() ) $template = get_home_template();

    return $template;
}

function et_add_bgcolor(){
    global $et_mobile_theme_options;

    echo '<style>body{ background-color: #'. esc_html( str_replace( '#', '', $et_mobile_theme_options['bg_color'] ) ) .'; }</style>';
}

if ( ! function_exists( 'et_mobile_custom_comments_display' ) ) :
function et_mobile_custom_comments_display($comment, $args, $depth) {
   $GLOBALS['comment'] = $comment; ?>
   <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
        <article id="comment-<?php comment_ID(); ?>" class="text_block comment clearfix">
            <div class="avatar-box">
                <?php echo get_avatar($comment,$size='37'); ?>
                <span class="avatar-overlay"></span>
            </div> <!-- end .avatar-box -->
            <?php printf('<span class="fn">%s</span>', get_comment_author_link()) ?>

            <div class="comment-content clearfix">
                <?php if ($comment->comment_approved == '0') : ?>
                    <em class="moderation"><?php esc_html_e('Your comment is awaiting moderation.','HandHeld') ?></em>
                    <br />
                <?php endif; ?>

                <?php comment_text() ?>
            </div> <!-- end comment-content-->

            <div class="comment-meta clearfix">
                <span class="comment-date"><?php if ( 1 == $depth ) printf( __( 'Posted on %1$s', 'HandHeld' ), get_comment_date() ); else echo get_comment_date(); ?></span>
                <?php 
                    $et_comment_reply_link = get_comment_reply_link( array_merge( $args, array('reply_text' => esc_attr__('Reply','HandHeld'),'depth' => $depth, 'max_depth' => $args['max_depth'])) );
                    if ( $et_comment_reply_link ) echo '<div class="reply-container">' . $et_comment_reply_link . '</div>';
                ?>
            </div> <!-- end .comment-meta -->
        </article>
<?php }
endif;

if ( ! function_exists( 'et_list_pings' ) ){
    function et_list_pings($comment, $args, $depth) {
        $GLOBALS['comment'] = $comment; ?>
        <li id="comment-<?php comment_ID(); ?>"><?php comment_author_link(); ?> - <?php comment_excerpt(); ?>
    <?php }
}

if ( ! function_exists( 'et_mobile_regular_post' ) ){
    function et_mobile_regular_post(){ 
        global $post; ?>
        <article class="post text_block clearfix">
            <?php
                $thumb = '';
                $width = 72;
                $height = 72;
                $classtext = '';
                $titletext = get_the_title();
                $thumbnail = et_get_thumbnail($width,$height,$classtext,$titletext,$titletext,false,'Entry');
                $thumb = $thumbnail["thumb"];
            ?>
            <?php if( $thumb <> '' ){ ?>
                <div class="post-thumb">
                    <a href="<?php the_permalink(); ?>">
                        <?php et_print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext, $width, $height, $classtext); ?>
                        <span class="overlay"></span>
                    </a>
                    <span class="comment_count"><?php comments_popup_link( 0, 1, '%' ); ?></span>
                </div> <!-- end .post-thumb -->
            <?php } ?>
            <div class="post-content">
                <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
                <p class="meta-info"><?php esc_html_e('Posted on','HandHeld'); ?> <time datetime="<?php the_time( 'Y-m-d' ); ?>" pubdate><?php the_time( 'F jS' ); ?></time></p>
            </div> <!-- end .post-content -->
            <a href="<?php the_permalink(); ?>" class="readmore"><?php esc_html_e('Read more','HandHeld'); ?></a>
        </article> <!-- end .post -->
    <?php } 
}

if ( ! function_exists('register_sidebar') ) {

// Register Sidebar
function register_sidebar()  {
    $args = array(
        'id'            => 'mobile-sidebar',
        'name'          => 'Mobile',
        'description'   => __( 'Sidebar for mobile', 'text_domain' ),
        'before_title'  => '<h4 class="widgettitle">',
        'after_title'   => '</h4>',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget'  => '</li>',
    );

    register_sidebar( $args );
}

// Hook into the 'widgets_init' action
add_action( 'init', 'register_sidebar' );

}

if ( ! function_exists( 'et_mobile_gallery_post' ) ){
    function et_mobile_gallery_post(){
        global $post; ?>
        <a href="<?php the_permalink(); ?>" class="project">
            <?php
                $thumb = '';
                $width = 70;
                $height = 70;
                $classtext = '';
                $titletext = get_the_title();
                $thumbnail = et_get_thumbnail($width,$height,$classtext,$titletext,$titletext,false,'Project');
                $thumb = $thumbnail["thumb"];
            ?>
            <?php et_print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext, $width, $height, $classtext); ?>
            <span></span>
        </a>
    <?php } 
}

add_action( 'template_redirect', 'et_mobile_load_ajax_scripts' );
function et_mobile_load_ajax_scripts(){
    wp_enqueue_script( 'et_home_load_more', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ) );
    wp_localize_script( 'et_home_load_more', 'etmobile', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'et_load_nonce' => wp_create_nonce( 'et_load_nonce' ) ) );
}

function et_show_ajax_posts() {
    global $et_mobile_theme_options;
    if ( ! wp_verify_nonce( $_POST['et_load_nonce'], 'et_load_nonce' ) ) die(-1);

    $posts_num = (int) $_POST['et_posts_num'];
    $posts_offset = (int) $_POST['et_posts_offset'];
    $gallery = (int) $_POST['et_gallery'];

    $args = array(
        'posts_per_page' => $posts_num,
        'offset' => $posts_offset,
        'post_status' => 'publish'
    );

    if ( isset( $et_mobile_theme_options['home_blog_categories'] ) && !empty( $et_mobile_theme_options['home_blog_categories'] ) && 0 == $gallery )
        $args['category__in'] = $et_mobile_theme_options['home_blog_categories'];

    if ( 0 != $gallery && isset( $et_mobile_theme_options['home_project_categories'] ) && !empty( $et_mobile_theme_options['home_project_categories'] ) ) 
        $args['category__in'] = $et_mobile_theme_options['home_project_categories'];

    ob_start();
    $the_query = new WP_Query( $args );
    while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <?php if ( 0 == $gallery ) { ?>
            <?php et_mobile_regular_post(); ?>
        <?php } else { ?>
            <?php et_mobile_gallery_post(); ?>
        <?php } ?>
    <?php endwhile;
    wp_reset_postdata();
    $posts = ob_get_clean();
    $last_query = ( $the_query->found_posts - $posts_offset ) > $posts_num ? false : true;
    echo json_encode( array( 'posts' => $posts, 'last_query' => $last_query ) );
    die();
} ?>

register_sidebar函数在第 114 行声明。

在我的home.php文件中,我试图调用侧边栏,如下所示:

<?php dynamic_sidebar( 'mobile-sidebar' ); ?>

但是侧边栏永远不会显示。

我错过了什么?

谢谢

4

1 回答 1

1

Functions.php 中的代码

if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'Homepage Sidebar',
'id' => 'homepage-sidebar',
'description' => 'Appears as the sidebar on the custom homepage',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
}

home.php 中的代码

<?php get_sidebar('homepage'); ?>

创建一个文件“sidebar-homepage.php”

粘贴此代码:

<div class="custom">


    <?php
     if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('homepage-sidebar') ) :
    endif; ?>

 </div>

转到小部件并添加一些文本...享受..

于 2013-04-10T23:45:17.863 回答