• 关于修改WordPress主题你需要知道的十件事


    转自:http://www.wordpress.la/10-things-to-know-about-theme-modification.html


    不满足于WordPress默认功能的站长们都会对WordPress强大的扩展功能感到好奇,进而尝试自己修改主题。 对WordPress主题进行修改时,没有必要精通PHP,你需要的,只是一点基础的HTML知识和一些解决问题的常识。

    下载一份WordPress主题文件的副本,保存,然后打开这些主题问题,根据下面的步骤以及WordPress手册中的说明逐步了解主题文件的运转以及修改方法。

    这篇文章是关于WordPress你需要知道的100件事系列的一部分。


    1. Widgets实现了(通常位于侧栏/页脚中的)内容/插件的拖拽功能


    这是基本知识,不过的确还有人不知道什么是widget(小工具)或者如何使用widget。 WordPress主题支持widget功能,如果你进入WordPress网站后台"外观"下的"小工具"选项,会看到所有支持拖放widget的版块。 WordPress自带若干核心widget(比如页面、分类、标签、最近文章等),各种插件也有自带的widget。


    2. 一个WordPress主题可以有无限个支持widget的区域


    Widget这个概念很简单,很多人也习惯于侧栏或者footer的widget小工具。 你或许不知道的是,WordPress网站的各个部分都是支持widget的,你可以(字面意义)在任何位置上添加widget小工具,所添加的小工具数量也完全由你自己决定。 关于实现WordPress多区域widget的具体方法,请参考这篇文章。


    3. 支持widget的区域可以是"有限制的"(针对特定条件或页面)


    有时候你可能需要只在特定条件下显示widget。比如主页专用widget,或者特定文章/分类/标签页专用widget。 这时候你可以利用WordPress的条件标签

    在这种情况下,可以在functions.php里使用与注册多区域widget时相同的代码,不过之后需要在调用widget区域的代码内添加条件语句代码。 仍然使用上一个例子,如果调用widget的区域是footer部分,并且你只需要在主页的footer上实现显示效果,需要用到的是下面这段代码:

    <?php // 只让主页的footer支持widget
    
      if (is home() {
    
    	if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Footer Widget') ) : ?>
    <?php endif; ?>
    
      } else {
      }
    

    4. WordPress 3.0以上版本添加了自定义"菜单"功能(类似于widget,但为导航专用)


    WordPress 3.0版本引入了WordPress菜单(导航菜单)功能。 。 和widget一样,你也可以通过在functions.php文件注册菜单——添加到主题页面代码这样的步骤,在WordPress主题的任何部分添加菜单区域。 同样你也可以"有条件地"显示菜单区域(方法同第3点)。


    5. WordPress核心主题文件包括index.php,single.php,page.php,header.php,footer.php,style.css


    有些WordPress主题结构非常复杂,有些却只包括几个文件。 如果你有兴趣,可以进一步了解WordPress主题结构与工作机制。 关于WordPress主题的结构解析,请参考这篇文章这篇文章


    6. 你可以自定义用于特定条件的header、footer和样式表


    这仍然会用到WordPress条件标签。 通过在WordPress主题代码里使用条件标签语句,可以在主题代码里创建并使用多个header、footer甚至样式表。

    假设你希望主页的header部分不同于网站其他页面,只需要在index.php文件里加上:

    <?php
    
      if (is home() {
    
    	get_header(home);
    
      }  else {
    
    	get_header();
    
      }
    

    然后将header.php另存为header-home.php,进行相应代码添加或改动,然后上传到主题目录下即可。 对footer、侧栏、样式表等也可以使用同样的方法。

    下面是WordPress手册中对相关函数的介绍:

    get_header
    get_footer
    get_sidebar
    get_stylesheet


    7. 利用自定义主题页面"模板"可以显示特别的页面


    你可以利用很多方法使某个页面看上去与众不同或者具有特别功能。 也许你可能想要很多个与众不同的页面。 你可以根据主题创建一个页面模板,然后在需要时把这个模板指派给某个页面。

    步骤如下:

    1. 从主题文件中下载一份page.php文件,另存为page-test1.php(或者其他任何名字)。
    2. 在一个文本编辑器(例如Notepad)中打开这个文件,在文件顶部添加以下内容:

    <?php
    /*
    Template Name: Test 1
    */
    ?>
    

    然后保存文件并上传到主题目录下,之后你可以在后台编辑任何静态页面。 在右侧的"页面属性"下可以看见一个叫做"模板"的下拉式菜单,如果刚才文件上传成功,你会看见一个叫做"Test 1"的新模板。 选中这个模板然后更新页面,页面重新加载后新的模板就派上用场了。

    你可以为不同页面创建不同的主题页面模板,然后在后台匹配使用。


    8. 你可以设置主循环显示的文章数量


    大多数WordPress用户都适应了一个事实:每个存档类型的页面(主页、分类页、标签页等)一次显示十篇文章。 首先你需要知道的是(如果你还不知道),在所有主题页面中,"主循环(the loop)"是调用这些文章的代码主干。

    你可能不知道的是,不用the_loop而用wp_query函数也可以显示任何类型的文章,例如:

    //仅检索指定页面
    
    <?php
    $args = array(
    	'post_type' => 'page',
    	'post__in'  => array( '595', '33', 44 )
    );
    $the_query = new WP_Query( $args );
    ?>
    
    //显示某个作者的文章
    
    $query = new WP_Query( 'author=123' );
    
    //显示若干个作者的文章
    
    $query = new WP_Query( 'author=2,6,17,38' );
    
    //显示指定分类下的文章
    
    $query = new WP_Query( 'cat=4' );
    
    //显示指定标签下的文章
    
    $query = new WP_Query( 'tag=cooking' );
    

    甚至可以用wp_query来显示近期文章,例如:

    <?php
       $recentPosts = new WP_Query();
       $recentPosts->query('showposts=3');
    ?>
    
    <?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>
       <li></li>
       <?php endwhile; ?>
    

    9. 你可以设置每一篇文章(正文或摘要)的显示效果


    每个包含the_loop的WordPres主题文件都通过特定函数分别调用文章的各部分内容。 如果你看见function the_content,这表示要显示的是文章的完整内容。 把其中的content改成excerpt,页面显示的内容会变成文章的摘要而不再是全文。

    如果需要在主页上更改为显示摘要,就在index.php里把the_content改成the_excerpt。如果是存档页,就修改archive.php文件。如果要求搜索结果显示摘要,就修改search.php,以此类推。


    10. 做任何改动前一定要备份


    不要害怕修改WordPress主题。 不过做任何修改前,请在本地桌面上备份主题文件,然后进入后台"外观"菜单下的编辑选项慢慢研究吧。

  • 相关阅读:
    如何写出SpringBoot官方模样的Starter
    VS Code调试go语言程序
    redis 数据持久化,主从,哨兵等
    注解方式结合spring aop实现日志动态可插拔打印
    BeanUtils.copyProperties()的一个坑
    视频转换工具
    数库移表移行后如何对比数据呢
    XPS VIEWER FOR WIN10的安装方法
    增加注册表键值的命令
    .net web开发
  • 原文地址:https://www.cnblogs.com/jubincn/p/3381175.html
Copyright © 2020-2023  润新知