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

时间:2021-05-02

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

单侧边栏

functions.php

? 1 2 3 4 5 6 7 8 9 10 <?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

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <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

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?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

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <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>
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章