[WORDPRESS系列]常用函数

[b]wpautop[/b]
简介

将文本中的两个换行符转换成 HTML 段落 (

...

),其余的换行转换成


WordPress 使用这个函数对日志内容和摘要进行格式化处理。

用法

参考:http://blog.wpjam.com/function_reference/wpautop/

post相关函数

[b]the_category()[/b]
the_category() 是用来调用日志的在的所有类别的 PHP 函数

[b]_e();[/b]
Displays the returned translated text from translate().
为了使文字内容支持多语言,格式化输出

在 WordPress 中 __ 函数和 _e 函数被用来识别 php 文件中被标示的、需要被翻译成其它语言或本地化的字符串。这两个函数都接收字符串作为参数,例如:

__('Categories')
_e('Categories')

两个函数间的唯一功能性区别在于:

_e 函数回显(echo)返回的字符串,而 __ 函数只是返回字符串。如果需要为函数提供字符串,可使用 __ 函数。而如果希望将字符串作为 XHTML 的一部分输出,则需要使用 _e 函数。

两个函数都在 WordPress 中的 l10n.php 中定义,从定义中很容易看出区别。

function _e($text, $domain = 'default') {
echo translate($text, $domain);
}

function __($text, $domain = 'default') {
return translate($text, $domain);
}

[b]have_posts();[/b]

[b]the_post();[/b]

[b]the_title();[/b]

[b]the_content();[/b]

[b]the_author();[/b]

[b]comments_popup_link();[/b]
 

当弹出留言的功能激活的话,comments_popup_link() 调用一个弹出的留言窗口,如果没有激活,comments_popup_link() 则只是简单的显示留言列表。No Comments » 是在没有留言的时候显示的。1 Comment » 是用于当刚好只有1条留言时候。% Comments &187; 是用于当有多于一条留言的时候。比如:8 Comments »。百分号 % 用来显示数字。» 是用来显示一个双层箭头 »。

[b]edit_post_link[/b]
– 这个只有当我们以管理员或者作者身份登录的的时候才可见。 edit_post_link() 只是简单显示一个可以用来编辑当前日志的编辑链接,这样就可以让我们不必去管理界面搜寻该日志就能直接编辑。edit_post_link() 有三个参数。第一个是用来确定哪个词你将用在编辑链接的链接标题。如果你使用 Edit post,那么将显示 Edit post 而不是 Edit。第二个参数是用来显示在链接前面的字符,在这里是竖线 |,代码就是&124;。第三个参数是用于显示在编辑链接后面的字符,在这里没有使用。登录 WordPress 之后,再返回到首页就可以看到“Edit”的链接和一条竖线。

[b]the_id[/b]
返回每篇日志的 ID。

[b]posts_nav_link[/b]

日志导航链接.后一页或者前一页的链接。默认情况下,如果没有超过10篇日志的话,是不会显示导航链接,如果没有超过10篇日志,依然想看到导航链接,登录到管理界面,在 设置 > 阅读 页面,把它设置为比所有日志少一篇。如,有6篇日志,就设置为5。

第1个参数是显示在后一页和前一页链接的中间自定义内容。第2个参数第一个页面的自定义内容。第3个参数是下一页的自定义内容

[b]wp_list_cats [/b]
调用分类链接列表 过期了。用wp_list_categories代替


sort_column=name – 把分类按字符顺序排列
optioncount=1 – 显示每个分类含有的日志数
hierarchical=0 – 不按照层式结构显示子分类,这就解释了为什么子分类链接是列在列表中第一级。
& – 每次增加另一个参数的时候,需在它之前要输入 & 用来把和现有的参数区分开。如 & – 在 sort_column 和 optioncount之间。

[b]wp_list_pages[/b]
Pages");  ?>

title_li 是一个用来定制化页面链接列表的标题的参数。

Pages

是 title_li 这个参数的值
为了限制显示列表的层数,增加了 depth 这个参数,并把它设置为 3:

[b]wp_get_archives[/b]
存档链接列表

type参数表示按月归档

[b]get_links_list[/b]

过期了。用wp_list_bookmarks()代替
友情链接列表

[b]wp_list_bookmarks[/b]
这个函数也是为Blogroll服务的,比以前的函数 get_links_list() 和 get_links() 更加强大,它有很多参数,参数和参数之前用"&"分隔

wp_list_bookmarks 函数的默认参数是:

'orderby' => 'name'
'order' => 'ASC'
'limit' => -1
'category' => ''
'category_name' => ''
'hide_invisible' => 1
'show_updated' => 0
'echo' => 1
'categorize' => 1
'title_li' => __('Bookmarks')
'title_before' => '

'
'title_after' => '

'
'category_orderby' => 'name'
'category_order' => 'ASC'
'class' => 'linkcat'
'category_before' => '
  • '
    'category_after' => '
  • '


    参考http://www.slyar.com/blog/wp-list-bookmarks.html

    WordPress 3.5 发布的时候,为了更加简洁易用,WordPress 就把一些不太常用的代码从核心代码中取消或者禁用,比如全新安装的 WordPress 博客在后台就没有链接管理器。但是如果你还是有很多朋友,需要交换链接,怎么办呢?WordPress 提供接口:

    add_filter( 'pre_option_link_manager_enabled', '__return_true' );
    将上面的代码复制到当前主题的 functions.php 文件即可。
    添加后在后台的菜单栏会出现“链接”菜单选项。
    在模板添加显示


    [b]wp_specialchars[/b]
    2.8版本开始过期。用esc_html代替
    Escaping for HTML blocks.
    $html = esc_html( 'A link' );

    输出
    A link




    (1|param|param)
    Return param or value (also can be: null, void...).
    (2|datatype|datatype)
    Datatype of return value.
    (3|description|description)
    Description of return value.

    [b]wp_register[/b]
    wp_register() 这个函数能产生一组
  • 标签,如果你没有登陆,它显示注册(Register)链接,如果登录了,它显示的是 站点管理(Site Admin)的链接。

    [b]wp_loginout() [/b]
    不会产生列表元素标签,所以需要我们手工输入列表元素标签,当你没有登录的时候,得到的是 登录(Login) 的链接,当已经登录的时候,得到的是登出(Logout)链接。

    [b]get_header[/b]
    WordPress 主题系统特别用来导入 header.php 文件的函数,而不用使用 PHP 的函数:.

    [b]get_sidebar[/b]

    获取sidebar.php模板内容

    [b]get_footer[/b]
    获取footer.php模板内容

    [b]the_excerpt[/b]
    只显示摘要而不是全文的日志。
    为什么你想这么做呢? — 防止 Google 以为重复内容惩罚你的博客,如果一个存档页面和首页显示相同的内容,那就是重复的内容。

    如果是私人的博客呢?那么就没有必要去区分首页和存档页面。但这并不是说摘要对私人博客没有用。

    同样 — 默认你的类别页面将使用 archive.php 显示内容,如果你没有 archive.php 文件,类别页面将使用 index.php 显示内容。

    如果你想类别页面和首页和存档页面看起来不一样,那么创佳一个 category.php 文件并定制化它。

    [b]link_pages[/b]
    用于显示页面的分页链接。
    Pages:', '

    ', 'number'); ?>


    [b][/b]
    在编辑文章时若需要分页,必须在文本状态下加入可实现分页效果 并在page.php或者archive.php,single.php添加
    Pages:', '

    ', 'number'); ?>

    或者

    推荐用,因为会根据当前语言显示,如中文。

    参考资料:http://codex.wordpress.org/Styling_Page-Links
    http://wzbs.org/paging-a-long-article/

    [b]previous_post_link[/b]
    [b]next_post_link[/b]
    上一篇文章和下一篇文章导航

    默认情况下,链接有个箭头(«)显示
    Displays link with left angular quote («) followed by the post title of the previous post (chronological post date order).
    « Previous Post Title

    参考:http://codex.wordpress.org.cn/Previous_post_link

    没有快速的方式在 comments.php 建立评论模板

    [b]comments_template[/b]
    该函数加载评论模板,并显示在单篇文章和页面中。

    参数

    $file

    (字符串)(可选)将要加载的文件

    默认值:/comments.php

    $separate_comments

    (布尔型)(可选)是否按评论类型分隔评论

    默认值:false

    示例

    使用其它评论模板

    有时你可能希望在主题的不同部分显示不同评论效果。那么你需要新建一个替换文件(如short-comments.php)并按以下方式调用该文件:


    注释

    使用全局变量:(数组)当前文章评论对象的$comment列表
    用法:$wpdb
    用法:$id
    用法:$post
    用法:若文章没有评论,$withcomments将不会尝试获取评论
    历史记录

    始见于1.5.0版本
    源文件

    comments_template()位于wp-includes/general-template.php中。

    [b]comment_author_link[/b]
    说明

    该标签显示带有链接的评论作者名,链接指向评论作者所提供的URL。该标签必须用在WordPress主循环(loop)或评论循环中。

    用法



    示例

    Comment by:


    参数

    该标签无参数。

    [b]is_home[/b]
    [b]is_single()[/b]
    is_home() 则是判断首页的条件标签,is_single() 则是判断文章页的条件标签
    条件判断函数用来检测、判断使用。 如在博客首页中大量使用。 is_home属于Boolean函数, 返回值为:TRUE 或 FALSE.

    [b]wp_cache_get[/b]
    [b]wp_cache_set[/b]
    通过 cache key 和 group 获取缓存的内容。

    参数

    $key
    (int|string) (required) 数据在缓存中的名字
    Default: 无

    $group
    (string) (optional) 数据在缓存中的组名。
    Default: 'default'

    $force
    (bool) (optional) 是否强制使用持久缓存更新本地缓存。
    Default:false

    $found
    (bool) (optional) 是否在缓存中找到 key,可以用于消除返回 false 的歧义。目前 memecache 不支持,这个参数。
    Default:false

    返回值

    (bool|mixed)
    如果没有缓存或者缓存的数据过期,返回 false,否则返回数据。

    注解

    使用到 wp_object_cache 对象缓存的类
    WP_Object_Cache::get()
    参考 http://blog.wpjam.com/function_reference/wp_cache_get/

    [b]wp_enqueue_script[/b]
    这是action。。。
    使用 wp_enqueue_script() 可以安全地将 javascript 脚本加入到 WordPress 创建的页面中。一般来说,将没有被内置的代码进行添加,并在 WordPress 运行时进行加载
    参考:http://codex.wordpress.org/zh-cn:%E5%87%BD%E6%95%B0%E5%8F%82%E8%80%83/wp_enqueue_script

    [b]single_post_title[/b]
    single_post_title 函数,在 WordPress 中也是一个用于显示文章标题的函数,该函数主要用在文章单页中,并且没有进行过太多的封装。算是对 wp_query 这个类的活用了。

    最近和标题干上了,所以把基本上所有 WordPress 中 关于文章标题的函数都想搜刮出来,因为实现方式众多,所以最终只打算将几个经过封装过的函数拿出来分析备忘一下,分别是get_the_title、the_title和 wp_title 以及本文 single_post_title 函数。

    函数意义详解
    single_post_title 函数显示或返回当前文章的标题。

    single_post_title 函数用法、参数详解
    参数跟 get_the_title、the_title 中讲的差不多。


    $prefix分隔符
    $display是否显示
    示例
    示例也请参考之前讲过的标题函数,如: wp_title

    总结
    wp_query 这个类是个好东西,推荐有点能力的童鞋还是好好研究下,这里标题的实现主要还是依靠该类下的一个请求对象的返回函数get_queried_object来实现对象的获取,比较值得研究。

    [b]single_post_title [/b]函数声明
    该函数声明位于 wp-includ/general-template.php 635 – 646行左右的位置

    /**
    * Display or retrieve page title for post.
    *
    * This is optimized for single.php template file for displaying the post title.
    *
    * It does not support placing the separator after the title, but by leaving the
    * prefix parameter empty, you can set the title separator manually. The prefix
    * does not automatically place a space between the prefix, so if there should
    * be a space, the parameter value will need to have it at the end.
    *
    * @since 0.71
    *
    * @param string $prefix Optional. What to display before the title.
    * @param bool $display Optional, default is true. Whether to display or retrieve title.
    * @return string|null Title when retrieving, null when displaying or failure.
    */
    function single_post_title($prefix = '', $display = true) {
    $_post = get_queried_object();

    if ( !isset($_post->post_title) )
    return;

    $title = apply_filters('single_post_title', $_post->post_title, $_post);
    if ( $display )
    echo $prefix . $title;
    else
    return $title;
    }
    ?>


    [b]get_template_part[/b]
    参考http://pangbu.com/get_template_part/
    http://codex.wordpress.org/zh-cn:%E8%B0%83%E7%94%A8%E6%A8%A1%E6%9D%BF%E9%83%A8%E5%88%86/get_template_part
    http://jingyan.baidu.com/article/8065f87f8f175d2330249849.html

    描述:
    加载一个制定的模板到另一个模板里面(不同于包含header,sidebar,footer).
    使得一个主题使用子模板来实现代码段重用变得简单

    用于在模板中包含指定的模板文件,只需用指定参数slug和name就可以包含文件{slug}-{name}.php,最重要的功能是如果没有这个文件就包含没有{name}的.php文件文件

    使用方法:



    什么意思呢?我们来看一下具体的示例:

    意思是说,如果content-blog.php存在,则调用content-blog.php,否则,就调用content.php

    [b]the_posts_pagination[/b]
    WordPress 4.1新增分页式导航
    返回文章列表的前/后导航。

    [b]comments_open[/b]
    这个条件标签用来检测当前文章或者某篇指定ID的文章是否开启评论。这是一个布尔型函数,它的返回值为 TRUE 或者是 FALSE
    用法


    传入参数
    $post_id

    (整数型)(可选的)文章ID

    默认值:0

    返回值
    (布尔型)

    真则返回True,假则返回false。

    [b]get_comments_number[/b]
    $my_var = get_comments_number( $post_id ); 

    返回post的评论数量

    [b]comments_template[/b]
    说明

    该函数加载评论模板,并显示在单篇文章和页面中。

    用法



    参数

    $file

    (字符串)(可选)将要加载的文件

    默认值:/comments.php

    $separate_comments

    (布尔型)(可选)是否按评论类型分隔评论

    默认值:false

    示例

    使用其它评论模板

    有时你可能希望在主题的不同部分显示不同评论效果。那么你需要新建一个替换文件(如short-comments.php)并按以下方式调用该文件:


    注释

    使用全局变量:(数组)当前文章评论对象的$comment列表
    用法:$wpdb
    用法:$id
    用法:$post
    用法:若文章没有评论,$withcomments将不会尝试获取评论

    你可能感兴趣的:(wordpress,wordpress)