• 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。

  • 相关阅读:
    【甘道夫】Hadoop2.2.0 NN HA详细配置+Client透明性试验【完整版】
    zookeeper学习资源
    Java jdbc数据库连接池
    几种任务调度的 Java 实现方法与比较
    java常用集合类详解(有例子,集合类糊涂的来看!)
    Eclipse上GIT插件EGIT使用手册
    MongoDB 数据备份、恢复与迁移管理
    Mongodb快速入门之使用Java操作Mongodb
    mongodb高可用集群搭建
    Mongodb常见错误
  • 原文地址:https://www.cnblogs.com/cheryshi/p/7779547.html
Copyright © 2020-2023  润新知