笔者想给WordPress文章添加置顶、密码保护、私密的标记,以便于识别,并有两种方法
作为文章标题前缀显示
单独显示
作为文章标题前缀显示
我们知道,WordPress默认会给密码保护的文章、私密的文章添加“密码保护:”和“私密:”的标题前缀
不过对于置顶文章而言,没有默认的标题前缀
如果想要自定义密码保护和私密文章的标题前缀
首先在服务器上找到WordPress站点目录,如笔者的是/www/wwwroot/[站点文件名]
在目录底下找到 wp-content/themes/[WordPress使用的主题名称]/functions.php
在里面添加以下函数,return语句中%s前面的内容都是你的自定义内容
- add_filter( 'protected_title_format', 'zhang_protected_title_format' );
- //密码保护文章标题前缀
- function zhang_protected_title_format( $format ) {
- return '<span class="protected-tag">密码保护</span>%s';
- }
- add_filter( 'private_title_format', 'zhang_private_title_format' );
- //私密文章标题前缀
- function zhang_private_title_format( $format ) {
- return '<span class="private-tag">私密</span>%s';
- }
简单添加一下CSS样式
- /*置顶标记*/
- .sticky-tag{
- color:#FFF;
- background:#A0CCEB;
- border-radius:0.5em;
- padding:0.1em 0.4em;
- font-size:0.9em;
- margin-right:1em;
- }
- /*密码保护标记*/
- .protected-tag{
- color:#FFF;
- background:#FECB97;
- border-radius:0.5em;
- padding:0.1em 0.4em;
- font-size:0.9em;
- margin-right:1em;
- }
- /*私密标记*/
- .private-tag{
- color:#FFF;
- background:#FC8893;
- border-radius:0.5em;
- padding:0.1em 0.4em;
- font-size:0.9em;
- margin-right:1em;
- }
就可以做出如下的效果
单独显示
倘若想要将标记单独显示出来,就需要专门判断文章属于哪种类型,以下是判断文章置顶、密码保护、私密的相关函数
- is_sticky();
- //判断文章是否置顶,文章置顶为true,不置顶为false
- post_password_required();
- //判断文章是否需要密码,文章有密码且暂未输入密码时为true,文章无密码或已输入密码为false
- get_post_status();
- //查询文章状态
- // 'publish' – 公开发布的文章或页面
- // 'pending' – 待审文章
- // 'draft' – 草稿
- // 'auto-draft' – 自动保存草稿
- // 'future' – 定时发布
- // 'private' – 私密文章
- // 'inherit' – 修订版本
- // 'trash' – 在回收站中的
找到博客文章列表页面文件:wp-content/themes/[WordPress使用的主题名称]/content.php,并在你觉得合适的位置添加以下代码
- <?php if( is_sticky() ) echo '<span class="sticky-tag">置顶</span>'; ?>
- <?php if( post_password_required() ) echo '<span class="protected-tag">密码保护</span>'; ?>
- <?php if( get_post_status()=='private' ) echo '<span class="private-tag">私密</span>'; ?>
再和前一种方法一样添加CSS样式
- /*置顶标记*/
- .sticky-tag{
- color:#FFF;
- background:#A0CCEB;
- border-radius:0.5em;
- padding:0.1em 0.4em;
- font-size:0.9em;
- margin-right:1em;
- }
- /*密码保护标记*/
- .protected-tag{
- color:#FFF;
- background:#FECB97;
- border-radius:0.5em;
- padding:0.1em 0.4em;
- font-size:0.9em;
- margin-right:1em;
- }
- /*私密标记*/
- .private-tag{
- color:#FFF;
- background:#FC8893;
- border-radius:0.5em;
- padding:0.1em 0.4em;
- font-size:0.9em;
- margin-right:1em;
- }