【问题标题】:How to edit contents of dynamic_sidebar()?如何编辑 dynamic_sidebar() 的内容?
【发布时间】:2013-04-10 14:56:14
【问题描述】:

我很了解 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 时事通讯订阅表单恰好出现在 &lt;div class="home-infobox"&gt; 中。作为我的第一步,我必须对表单进行更改,我试图弄清楚它从哪里获取内容。它是来自数据库还是来自任何 PHP 文件?我完全一无所知。请帮我解决这个问题。

【问题讨论】:

  • 你在使用插件吗?如果有,是哪一个?

标签: php wordpress wordpress-theming


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    那行:

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

    正在打印主页信息框侧边栏的内容。侧边栏可以包含小部件。您可以在 Appearence->Widgets (/wp-admin/widgets.php) 下查看(并更改)侧边栏内容。 小部件可以由您安装的一些插件创建,或者您可以自己创建一个,即从functions.php。 即使您发现了创建小部件的插件并找到了正在执行此操作的实际代码,更改 3rd 方代码也不是一个好习惯 - 通过一些更新,您的更改可能会被覆盖。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 谢谢,它在那里就像:register_sidebar( array( 'name' =&gt; __( 'HomePage InfoBox', 'twentyeleven' ), 'id' =&gt; 'homepage-infobox', 'before_widget' =&gt; '&lt;div id="%1$s" class="widget %2$s"&gt;', 'after_widget' =&gt; "&lt;/div&gt;", 'before_title' =&gt; '&lt;h3 class="widget-title hide"&gt;', 'after_title' =&gt; '&lt;/h3&gt;', ) ); 但我仍然不清楚这里的数据来源。我改为挖掘数据库转储本身。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      相关资源
      最近更新 更多