web-dev-qa-db-ja.com

ダイナミックサイドバー&エコー

動的なサイドバーをうまく動作させることができます。

<div class="sidebar sidebar-first">
    <ul class="widget-area first">
        <?php dynamic_sidebar( 'pop-photos-sidebar' ); ?>
    </ul>
</div>

今、私はサイドバーをPHPコードの中にある別のコードで動作するようにしようとしています。私は上記の< ?php dynamic_sidebar( 'pop-photos-sidebar' ); ? >コードを使ってみました、そしてそれは私のサイトを壊しました。なぜならphp dynamic_sidebarコードは別のphpコードの中にあるからです。だから私はそのように$関数を作ってみました:

$newssidebar = dynamic_sidebar( 'pop-news-sidebar' );
            echo '<div class="sidebar sidebar-first">
                <ul class="widget-area first">
                '.$newssidebar.'
                 </ul>
             </div>';

これは動的にサイドバー "pop-news-sidebar"を表示しましたが、それは最初にulクラスのウィジェット領域の内側に、またはdivクラスのサイドバーのサイドバーの内側にはありません。動的サイドバーを上記のulクラスとdivクラスに正しく表示させるにはどうすればよいですか。エコーも使用できますか?コード全体を貼り付ける必要があるとは思いませんでしたが、ここではとにかくです。

<?php
    if( fake if code ) {
        if( another fake if code ) {
            $newssidebar = dynamic_sidebar( 'pop-news-sidebar' );
            echo '<div class="sidebar sidebar-first">
                <ul class="widget-area first">
                '.$newssidebar.'
                </ul>
            </div>';
        }else if( fake else ) {
            echo 'some other code';
         }
    }

?>

どんな助けでも途方もなく感謝されるでしょう! :)

1
I am not a Frog

あなたはechodynamic_sidebar()する必要はありません。 echoを終了し、dynamic_sidebar()を呼び出してから、新しいechoを起動します。簡単にするために、PHPタグを閉じるか、もう一度開きます。

<?php
if( fake if code ) {
    if( another fake if code ) {
        ?>
        <div class="sidebar sidebar-first">
            <ul class="widget-area first">
                <?php dynamic_sidebar( 'pop-news-sidebar' ); ?>
            </ul>
        </div>
        <?php
    } else if( fake else ) {
        echo 'some other code';
    }
}    
?>
1
Chip Bennett