web-dev-qa-db-ja.com

カスタムHTMLおよび標準ウィジェットをサイドバーに追加する

アドバンストテキストウィジェットではサポートできないカスタムHTMLと、同じサイドバー内の標準サイドバーウィジェットの両方を追加したいと思います。ただし、サイドバーウィジェットをテーマに追加すると、すべてのカスタムHTMLが削除され、サイドバーにウィジェットが表示されるだけになります。それは厳しい修正ではないはずです、しかし私は試行錯誤によってwordpressを学んだかなり大きいphp noobです。サイドバーからコードを添付しました。

    <div class="sidebar-blog">
        <div class="widget-wrap">
                    <div class="widget">
        <h4>Title goes here</h4>

            <p>Content goes here<p>

        </div>
                    </div>


        <div class="widget-wrap">
                    <div class="widget">
        <h4>Title goes here</h4>

            <p>Content goes here<p>

        </div>
                    </div>
    </div><!--end .sidebar-blog div-->

助けてくれてありがとう

1
Jeff

私はあなたがこのようなことをしていると思います:

<?php if ( ! dynamic_sidebar( 'widget-area' ) ) : ?>
    Your sidebar code goes here.
<?php endif; ?>

もしそうなら、代わりにこれを行います。

Your sidebar code goes here.
<?php dynamic_sidebar( 'widget-area' ); ?>
4
sorich87

あなたは、プラグインのような http://www.mlynn.org/graceful-sidebar-plugin を使うこともできます。 Graceful Sidebar Pluginは、サイドバーに表示される投稿またはページのカスタムフィールドを使用できるようにするウィジェットを作成します。あなたはそれを使ってカスタムHTMLや簡単なメッセージを表示することができます。使用するカスタムフィールドはgraceful_titleとgraceful_contentです。

1
mike

それはそれをするべきです:

    <!-- START Title & static content -->
    <div id="sidebar-right-default-content" class="span-6 last">
    <h3><?php _e('Your headline for the sidebar', TEXTDOMAIN); ?></h3>
        <?php some_function(); ?>
    </div>
    <hr />
    <!-- END Title & static content -->

    <!-- Sidebar right (default) - Widget Area - Adds a predefined Textwidget until nothing is defined via Admin UI > Design > Widgets -->
    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() && !is_active_sidebar( 'widgets-sidebar-right-default' ) ) :

        the_widget(
            'WP_Widget_Text'
            ,array(
                'title'     => 'Textwidget'
                ,'text'     => '
                    <p>
                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
                        Aenean et quam a ante sodales feugiat. Aliquam et vulputate turpis. 
                        Mauris quis sodales neque. Sed vestibulum faucibus eros nec tincidunt. 
                        Integer tortor magna, suscipit vitae ultricies vel, vehicula sit amet sapien. 
                    </p>
                '
                ,'filter'   => ''
            )
            ,array(
                'before_widget' => '<div class="widget-container">'
                ,'after_widget' => '</div>'
                ,'before_title' => '<h4 class="widget-title">'
                ,'after_title'  => '</h4>'
            )
        );

    elseif ( is_active_sidebar( 'widgets-sidebar-right-default' ) ) : 
        dynamic_sidebar( 'widgets-sidebar-right-default' );
    endif;
?>

</div>
<!-- END Sidebar right (default) -->
1
kaiser