源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 132|回复: 19

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

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2018-12-25 17:30:44 | 显示全部楼层 |阅读模式
这篇文章主要介绍了编写PHP脚本使WordPress的主题支持Widget侧边栏的方法,这里以一列两列的侧边栏为例可以以此类推更多列的写法,需要的朋友可以参考下

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

20151214152214148.png (600×360)

单侧边栏

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

回复

使用道具 举报

4

主题

2万

回帖

316

积分

中级会员

Rank: 3Rank: 3

积分
316
发表于 2022-8-8 10:42:41 | 显示全部楼层
加快速度很快就撒谎
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

381

积分

中级会员

Rank: 3Rank: 3

积分
381
发表于 2023-1-2 14:54:42 | 显示全部楼层
还有什么好东西没
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

207

积分

中级会员

Rank: 3Rank: 3

积分
207
发表于 2023-1-16 01:09:05 | 显示全部楼层
哈哈哈哈哈哈
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

194

积分

注册会员

Rank: 2

积分
194
发表于 2023-6-24 03:45:53 | 显示全部楼层
啪啪啪生怕PSP怕
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2023-10-20 20:45:01 | 显示全部楼层
终于找到了,我擦
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-3-2 07:12:59 | 显示全部楼层
哦哦哦哦哦哦哦哦哦
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

156

积分

注册会员

Rank: 2

积分
156
发表于 2024-3-31 00:58:39 | 显示全部楼层
激动人心,无法言表!
回复 支持 反对

使用道具 举报

11

主题

1万

回帖

103

积分

注册会员

Rank: 2

积分
103
发表于 2024-5-27 04:43:37 | 显示全部楼层
数据库了多久撒快乐的健身卡啦
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-7-1 15:15:59 | 显示全部楼层
dfdsafdsfdsfdsf
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-29 20:55 , Processed in 0.075767 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表