zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    浅谈 iOS 之 Crash log 符号化
    聊聊 Statsd 和 Collectd 那点事!
    如何使用 Zend Expressive 建立 NASA 图片库?
    Nagios 邮箱告警的方式太OUT了!
    如何从软硬件层面提升 Android 动画性能?
    这样查看告警邮件要慢一点……
    Android 共享文件的 Runtime 权限
    第38节:hashCode()与toString()与equals()函数的作用,内部类和匿名内部类
    第37节:多线程安全问题
    第37节:多线程安全问题
  • 原文地址:https://www.cnblogs.com/cheryshi/p/7779547.html
Copyright © 2011-2022 走看看