编写PHP脚本使WordPress的主题支持Widget侧边栏

前端技术 2023/09/05 PHP

帮网友小改了一下主题. 任务比较简单, 只是为一个三栏主题添加对 Widget 的支持而已,就先从这次简单的案例开始说吧.

单侧边栏

functions.php

<?php
if( function_exists(\'register_sidebar\') ) {
 register_sidebar(array(
 \'before_widget\' => \'<li class=\"widget\">\', // widget 的开始标签
 \'after_widget\' => \'</li>\', // widget 的结束标签
 \'before_title\' => \'<h3>\', // 标题的开始标签
 \'after_title\' => \'</h3>\' // 标题的结束标签
 ));
}
?>

sidebar.php

<div id=\"sidebar\">
 <ul class=\"widgets\">
<?php // 如果没有使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容
if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar() ) :
?>
 <!-- widget 1 -->
 <li class=\"widget\">
 <h3>标题 1</h3>
 <ul>
  <li>条目 1.1</li>
  <li>条目 1.2</li>
  <li>条目 1.3</li>
 </ul>
 </li>
 <!-- widget 2 -->
 <li class=\"widget\">
 <h3>标题 2</h3>
 <ul>
  <li>条目 2.1</li>
  <li>条目 2.2</li>
  <li>条目 2.3</li>
 </ul>
 </li>
<?php endif; ?>
 </ul>
</div>

双侧边栏

functions.php

<?php
if( function_exists(\'register_sidebar\') ) {
 register_sidebar(array(
 \'name\' => \'Sidebar_1\', // 侧边栏 1 的名称
 \'before_widget\' => \'<li class=\"widget\">\', // widget 的开始标签
 \'after_widget\' => \'</li>\', // widget 的结束标签
 \'before_title\' => \'<h3>\', // 标题的开始标签
 \'after_title\' => \'</h3>\' // 标题的结束标签
 
 ));
 
 register_sidebar(array(
 \'name\' => \'Sidebar_2\', // 侧边栏 2 的名称
 \'before_widget\' => \'<li class=\"widget\">\', // widget 的开始标签
 \'after_widget\' => \'</li>\', // widget 的结束标签
 \'before_title\' => \'<h3>\', // 标题的开始标签
 \'after_title\' => \'</h3>\' // 标题的结束标签
 
 ));
}
?>

sidebar.php

<div id=\"sidebar_1\">
 <ul class=\"widgets\">
<?php // 如果没有在侧边栏 1 中使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容
if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'sidebar_1\') ) :
?>
 <!-- widget 1 -->
 <li class=\"widget\">
 <h3>标题 1</h3>
 <ul>
  <li>条目 1.1</li>
  <li>条目 1.2</li>
  <li>条目 1.3</li>
 </ul>
 </li>
<?php endif; ?>
 </ul>
</div>

<div id=\"sidebar_2\">
 <ul class=\"widgets\">
<?php // 如果没有在侧边栏 2 中使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容
if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'sidebar_2\') ) :
?>
 <!-- widget 2 -->
 <li class=\"widget\">
 <h3>标题 2</h3>
 <ul>
  <li>条目 2.1</li>
  <li>条目 2.2</li>
  <li>条目 2.3</li>
 </ul>
 </li>
<?php endif; ?>
 </ul>
</div>


N 侧边栏
请使用数学归纳法进行推理XD

本文地址:https://www.stayed.cn/item/13450

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。