如何修改dynamic_sidebar()的内容?

时间:2013-04-10 14:56:14

标签: php wordpress wordpress-theming

我很熟悉PHP,但我是Wordpress的新手。我有一个不完整的Wordpress网站。它有一个带有Aweber简报形式的静态主页。我尝试深入了解已安装的主题和home.php并遇到:

<div class="home-infobox">
<?php if ( is_active_sidebar( 'homepage-infobox' ) ) : ?>
    <?php dynamic_sidebar( 'homepage-infobox' ); ?>
<?php endif; ?>
</div>

当我在主页上查看来源时,Aweber简报订阅表单正好在<div class="home-infobox">内。作为我的第一步,我必须对表单进行更改,并尝试弄清楚从哪里获取内容。它来自数据库还是来自任何PHP文件?我完全无能为力。请帮我解决这个问题。

3 个答案:

答案 0 :(得分:4)

您可以使用以下代码获取值而不是打印。

<?php 
  ob_start();
  dynamic_sidebar( 'homepage-infobox' ); 
  $output = ob_get_contents();
  ob_end_clean();
  echo $output;
?>

答案 1 :(得分:1)

那一行:

 <?php dynamic_sidebar( 'homepage-infobox' ); ?>

打印出主页信息框边栏的内容。边栏可以包含小部件。您可以在Appearence-&gt; Widgets(/wp-admin/widgets.php)下查看(和更改)侧边栏内容。 窗口小部件可以通过您安装的某个插件创建,也可以自己创建一个,即来自functions.php。 即使您发现插件创建了哪个插件,并且您发现正在执行此操作的实际代码,更改第三方代码也不是一个好习惯 - 通过一些更新,您的更改可能会被覆盖。

答案 2 :(得分:-2)

打开主题文件夹(如'\wp-content\themes\twentyeleven')。你会发现一个名为functions.php的php文件。打开它并搜索homepage-infobox,您会在register_sidebar中找到它。