Dynamic Sidebars & Echo

时间:2012-12-12 作者:I am not a Frog

我可以成功地让我的动态侧边栏像这样工作:

<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\\u边栏代码在另一个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类中?我会用echo吗?我认为没有必要粘贴完整的代码,但无论如何,这里是:

<?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 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

你不需要echo dynamic_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\';
    }
}    
?>

结束

相关推荐

为什么admin-ajax.php会重定向到注销用户的主页?

我正在我的网站上使用wp polls插件。此插件依赖于使用表单的AJAX请求http://www.myfakewebsiteurl.com/wp-admin/admin-ajax.php?action=polls&view=process&poll_id=2&poll_2=8&poll_2_nonce=420d75e659当我登录时,这个请求工作正常:它从服务器中提取轮询结果,然后将它们显示在所需的网页上。但是,当我注销时,此请求会将我重定向到主页。因此,我没有显示投票结果