目前本博客使用的 Stargazer主题,强大之余还有不少细节不太符合我的要求。其中大部分需要优化的功能可以通过设置子主题完成,不过也有某些功能只能修改原主题。这些修改在升级之后会被覆盖,所以这里记录一下。
-
表格样式。该主题表格部分的
<th>
没有边框,并且设置了所有的 th 和 td 样式为text-align:left
。我修改了一下,去掉默认的对齐方式,增加了th的边框,顺便设置了奇偶行交替的颜色效果。- 删除原主题 one-five.min.css 中的 th td{ text-align: left}
- 删除原主题 style.min.css .ltr th{text-align:left}
- 子主题中增加:
th,.ltr th,td{ background: #fcfcfc; border: 1px solid; border-color: #ddd; } .entry-content table tbody>tr:nth-child(2n+1)>td, .entry-content table tbody>tr:nth-child(2n+1)>th { background-color: rgba(102,128,153,.05); }
-
通过
Continue reading
链接进入文章页面时,标题文字只显示一半的bug。在子主题增加样式即可:.entry:only-of-type { padding: 0 0 1.5rem; }
-
插入媒体的样式。该主题会在插入的媒体外包围一个
<div class="embed-wrap" />
,然后动态地修改视频的尺寸,不过插入音乐等固定尺寸的媒体时,主题自动设置的尺寸就不合适了。修改原主题的stargazer.min.js
,增加两处排除的对象[data*="dewplayer"], [id="speaker"]
:jQuery( '.entry object, .entry embed, .entry iframe' ).not( 'embed[style*="display"], [src*="soundcloud.com"], [src*="amazon"], [name^="gform_"] ).wrap( '' );
修改为:
jQuery( '.entry object, .entry embed' ).not( 'embed[style*="display"], [src*="soundcloud.com"], [src*="amazon"], [name^="gform_"], [data*="dewplayer"], [id="speaker"]' ).wrap( '' );
-
Google字体,替换为360服务器,批量替换掉即可。
fonts.googleapis.com
替换为fonts.useso.com
。同时WordPress的两个文件也需要替换:
\wp-includes\script-loader.php
,
\wp-includes\js\tinymce\plugins\compat3x\css\dialog.css
。
(2015.07.13 UPDATE: Google 字体在大陆已恢复访问,改回 fonts.googleapis.com) -
启用了多说评论框,那么为了防止垃圾评论,删除根目录下的
wp-comments-post.php
-
为文章的分类和标签添加计数。在大发那里学到的。不过我的做法简单粗暴,缺点就是修改WordPress的系统文件,升级后会被覆盖。修改
\wp-includes\category-template.php
,get_the_term_list
方法添加计数。$term_links[] = '' . $term->name . '[' . $term->count . ']';
-
genericons 字体。原主题的字体太旧了,替换最新版本。
\fonts\genericons
-
ajax 评论。在子主题中修改无效,只能修改 Stargazer 主题。
上传ajax-comment文件夹到stargazer下,同时在functions.php
增加下面一行即可:require get_template_directory() . '/ajax-comment/do.php';
缺个相关文章功能
我把相关文章作为小工具放到右侧边栏了。。。确实不太容易看到