标签: wordpress

  • 云图标签wp_tag_cloud()的使用详情

    在写侧边栏标签云图缓存的过程中,到处找标签云图的函数说明无果,最终找到此文,全部问题解决,mark一下。

    说明

    该标签于WordPress 2.3版本投入使用,可在所谓的“标签云”中显示多个标签,所显示标签的大小取决于该标签的使用频率。WordPress 2.8中的wp_tag_cloud引入了taxonomy参数,使分类法被用作云的产生基础。这意味着,例如,你可以通过wp_tag_cloud向访 问者展示文章的分类云。 (更多…)

  • WordPress的主题文件构成

    在开始制作WordPress主题之前,首先得了解WordPress主题到底由哪些文件构成,你得清楚WordPress程序是怎样与主题文件连接的。以下是WordPress默认主题default文件夹下的所有模板文件:

    WordPress主题文件构成

         看了上图,可能你还摸不着头脑,到底这些文件是干什么的。WordPress的主题是用PHP编写的,而不是纯HTML + CSS,所以模板文件的后缀名是.php,如果你想精通WordPress的主题制作,完美控制你的博客,最好要熟悉PHP编程。要是不会PHP编程怎么办?就做不了WordPress主题了吗?那也不是,至少看完本系列教程,你也能够掌握基本的WordPress主题制作方法。下面是 WordPress主题文件层次结构,它会告诉你:当WordPress显示特定的页面类型时,会使用哪个模板文件呢?只有了解了以下主题层次结构,你才能知道你的WordPress主题到底需要写哪些文件。

     怎么看下面的文件层次结构?
        以主页为例,下面有2个文件home.php和index.php,WordPress程序会从你的主题文件夹中依次查找这两个文件,如果找到home.php,则使用home.php作为博客首页模板,即使你的主题文件夹中有index.php;如果home.php未找到,则使用index.php作为首页模板;如果home.php和index.php都找不到,你的主题将不会被WordPress识别,等于废物。

    主页:

    1. home.php
    2. index.php

    文章页:

    1. single-{post_type}.php – 如果文章类型是videos(即视频),WordPress就会去查找single-videos.php(WordPress 3.0及以上版本支持)
    2. single.php
    3. index.php

    页面:

    1. 自定义模板 – 在WordPress后台创建页面的地方,右侧边栏可以选择页面的自定义模板
    2. page-{slug}.php – 如果页面的缩略名是news,WordPress将会查找 page-news.php(WordPress 2.9及以上版本支持)
    3. page-{id}.php – 如果页面ID是6,WordPress将会查找page-6.php
    4. page.php
    5. index.php

    分类:

    1. category-{slug}.php – 如果分类的缩略名为news,WordPress将会查找category-news.php(WordPress 2.9及以上版本支持)
    2. category-{id}.php -如果分类ID为6,WordPress将会查找category-6.php
    3. category.php
    4. archive.php
    5. index.php

    标签

    1. tag-{slug}.php – 如果标签缩略名为sometag,WordPress将会查找tag-sometag.php
    2. tag-{id}.php – 如果标签ID为6,WordPress将会查找tag-6.php(WordPress 2.9及以上版本支持)
    3. tag.php
    4. archive.php
    5. index.php

    作者:

    1. author-{nicename}.php – 如果作者的昵称为rami,WordPress将会查找author-rami.php(WordPress 3.0及以上版本支持)
    2. author-{id}.php – 如果作者ID为6,WordPress将会查找author-6.php(WordPress 3.0及以上版本支持)
    3. author.php
    4. archive.php
    5. index.php

    日期页面:

    1. date.php
    2. archive.php
    3. index.php

    搜索结果:

    1. search.php
    2. index.php

    404 (未找到)页面

    1. 404.php
    2. index.php

    附件页面:

    1. MIME_type.php – 可以是任何MIME类型 (image.php, video.php, audio.php, application.php 或者其他).
    2. attachment.php
    3. single.php
    4. index.php

    详细说明,请看WordPress官方文档(如果你能看懂英文):
    http://codex.wordpress.org/Template_Hierarchy
    转自:http://www.ludou.org/create-wordpress-themes-template-hierarchy.html

  • 代码实现评论邮件通知

    是由《Ajax comments 回应邮件通知》所改进的评论回应邮件通知 (Comment Mail Notify).
    主要改进两个项目:
    1. 所有内置嵌套模板都适用, 不只是用於 Ajax comments.
    2. 管理者在後台回覆也可自动发邮件.

    安装步骤:

    1. 如果你用了上一版的 “Ajax comments 回应邮件通知”, 请先在 comments-ajax.php 删除上一版的代码.
    2. 在下面三种方式, 选择你想用的代码, copy 到主题的 functions.php 的 区域内.
    《评论回应邮件通知》的三种代码: (按下面的标题可直接滚下去)
    一、有勾选栏, 由访客决定是否要回应邮件通知
    二、无勾选栏, 由管理者决定在什麽条件下发邮件
    三、所有回覆都发邮件
    (更多…)

  • wordpress3之自定义菜单详解

    wordpress3以后的版本增加了在后台添加导航菜单的功能,需要用到wp_nav_menu函数,最近在制作一个新模板,整理了wp_nav_menu参数详解,备用。

    首先,要确认你的模板支持wp_nav_menu函数,如果不支持可以在 functions.php 里添加以下代码:

    if (function_exists(‘add_theme_support’)) {
    //开启导航菜单主题支持
    add_theme_support(‘nav-menus’);
    //注册一个导航菜单
    register_nav_menus( array( ‘primary’ => __( ‘Primary Navigation’, ‘primary’ ) ) );
    }
    //没有在后台设置导航菜单时调用的函数
    function the_main_nav() {
    ?>
    <div id=”menu”>
    <ul id=”nav”>
    <li><a <?php if (is_home()) echo ” class=”current””; ?> href=”<? php bloginfo(‘url’); ?>/”>Home</a></li>
    <?php wp_list_cats(‘style=list’); ?>
    </ul>
    </div>
    <?php } ?>

    wp_nav_menu参数详解:

    $menu_args = array(
    //最外层容器的标签名,默认div 为空时无外层
    ‘container’ => ‘div’,
    //最外层容器的class名
    ‘container_class’ => ‘mainNavBlock’,
    //最外层容器的id名
    ‘container_id’ => ‘menu’,
    //导航菜单ul标签的class名
    ‘menu_class’ => ‘mainNav’,
    //导航菜单ul标签的id名
    ‘menu_id’ => “nav”,
    //是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false
    ‘echo’ => true,
    //备用的导航菜单函数,用于没有在后台设置导航时调用
    ‘fallback_cb’ => ‘the_main_nav’,
    //显示在导航a标签之前
    ‘before’ => ‘<p>’,
    //显示在导航a标签之后
    ‘after’ => ‘</p>’,
    //显示在导航链接名之前
    ‘link_before’ => ‘<em>’,
    //显示在导航链接名之后
    ‘link_after’ => ‘</em>’,
    //显示的菜单层数,默认0,0是显示所有层
    ‘depth’ => 0,
    //调用一个对象定义显示导航菜单
    ‘walker’ => new Walker_Nav_Menu(),
    //指定显示的导航名,如果没有设置,则显示第一个
    ‘theme_location’ => ‘primary’,
    );
    //打印导航菜单
    wp_nav_menu( $menu_args );

    接下来,就可以在模板中使用添加导航菜单的功能了。