好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

帮网友小改了一下 主题 . 任务比较简单, 只是为一个三栏主题添加对 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

查看更多关于编写PHP脚本使WordPress的主题支持Widget侧边栏的详细内容...

  阅读:41次