WordPress函数小结

1.body_class()函数

为了区分不同的页面,可以用WordPress的body_class()函数

可以在head.php中给body添加:<body <?php body_class(); ?>>

分类栏目页会生成如下的class:

 2.新增body_class()的class

在某些情况下,你将要添加自己的Class到body_class()里

a.最简单的方法是通过自定义Class函数调用body_class()

 <body <?php body_class('my-class'); ?>>
 

通过这样做,我们现在告诉body_class()函数增加my-class的输出。

b.利用Wordpress的过滤器,增加新的body class,使用get_body_class()

这是增加使用过滤器增加class的例子:

<?php      
    add_filter(’body_class’,'my_body_classes’);  
     function my_body_classes($classes) {        
     // add 'zdy_class' to the $classes array      
     $classes[] = 'zdy_class';      
     // return the $classes array      
     return $classes;    
}  
?>

 输出结果在body_class()的基础上新增zdy_class

 3.作者链接

发表的文章会有作者链接,如何不想有链接,可以在模板中找到相应的代码删掉即可

<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ) ?>">
//根据作者id获取链接

有些主题会单独有模板包含生成作者相关信息的函数

 

function inkness_posted_on() {
printf(
        sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s">%2$s</a></span>',
//获取作者链接
            esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),

//获取作者名字            esc_html( get_the_author() )
        )
    );
}
//%1$s可以替换为作者链接,1%$s为作者名字

 

如果要去掉作者链接,修改后的代码如下:

function inkness_posted_on() {
printf(
        sprintf( '<span class="author vcard">%1$s</span>',
//获取作者名字            
esc_html( get_the_author() )
        )
    );
}
//1%$s为作者名字

4.wordpress重定向处理

上面方法知识在页面模块中链接不显示,可是作者链接还是存在,下面附上解决方法。

大家都知道一个网站是少不了对网站的url做重定向的,WordPress有一个重定向的插件:

可以下载此插件,可以对单独的url进行做重定向的处理,此插件也支持正则表达式的书写。

如果一个网站有多个人维护,会有多个作者链接生成,此时用正则表达式可以把含有作者的链接重定向到有用的页面
正则表达式:xxx.com/author/***/(.*)重定向到正确的网页

这样写可以匹配链接为xxx.com/author/后接的任意字符

5.get_template_part()函数

 

get_template_part()函数的使用很灵活,不仅仅是加载一个模板文件进来,而且还有备用的选项,调用代码如下:

<?php get_template_part( $slug, $name ); ?>

参数:

$slug (必须) 通用的模板名

$name (可选) 指定的模板名

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

<?php get_template_part( 'content', 'blog' ); ?>

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

 

posted @ 2017-11-03 18:11  cheryshi  阅读(915)  评论(0编辑  收藏  举报