标签归档:WordPress

黑咖啡

WordPress标题文章字体大小调整

主题的标题字体太大,试了很多方法,标题字体大小始终调整不了。网上也找了很多方法,均不灵验。最终于找到一段CSS代码,添加到主题自定义,设置CSS选项里,确定后字体大小,再根据自己网站适量自己调整。

.post h2 {
 display:block;
 margin-top:10px;
padding:0 5px 3px;
 font-size:24px;
font-weight: bold;	
 font-family:Verdana,"BitStream vera Sans";
}
.post h1 {
 font-size:24px;
font-weight: bold;
}
.page h1 {
 font-size:24px;
}
body {
font: 16px/26px  Arial, Helvetica, sans-
serif !important;
}

 

下面一段CSS代码,可以调整整站文章字体大小。两段很精简的CSS代码,亲测好用。

body {
font: 16px/26px ‘Microsoft 
Yahei’, Arial, Helvetica, sans-
serif !important;
}

如果你想调换整站字体,可以使用以下代码,需要自己上传字体,有些麻烦。

@font-face {
font-family: '随便一个名称,需要和下面的保持对应';
src: url('../fonts/yourfont.eot');
src:
url('../fonts/yourfont.eot') format('embedded-opentype'),下面需要上传字体
url('../fonts/yourfont.woff2') format('woff2'),
url('../fonts/yourfont.woff') format('woff'),
url('../fonts/yourfont.ttf') format('truetype'),
url('../fonts/yourfont.svg') format('svg');
font-weight: normal;
font-style: normal;
}
*:not([class*="icon"]):not(i) {
font-family: "与上面起的名字的对应" !important;
}

下面这一段,WordPress整站更换字体,CSS调换代码,可以更换整站自己喜欢的字体,但需要上传字体,下面这段代码已经上传好的字体,复制粘贴到主题自定义,CSS选项,亲测可用。字体还是根据个人喜好,自己上传,代码只做演示。

@font-face {
font-family: 'moonbridge';
src:
url('https://cdn.jsdelivr.net/gh/TaylorLottner/CDN@master/TYPES/moonbridge/moonbridge.woff2') format('woff2'),
url('https://cdn.jsdelivr.net/gh/TaylorLottner/CDN@master/TYPES/moonbridge/moonbridge.woff') format('woff'),
url('https://cdn.jsdelivr.net/gh/TaylorLottner/CDN@master/TYPES/moonbridge/moonbridge.ttf') format('truetype');
font-weight: normal;
font-style: normal;
font-display: swap;
}

:not(i) {
font-family: "moonbridge";
}

/**
*:not ([class*="icon"]):not (i) {
font-family: "moonbridge" !important;
}
**/

网站底部添加本站运行时间代码

<font style="color:#1e73be;"><span id="runtime_span"></span>
<script type="text/javascript">function show_runtime(){window.setTimeout("show_runtime()",1000);X=new 
Date("10/10/2006 10:10:00");
Y=new Date();T=(Y.getTime()-X.getTime());M=24*60*60*1000;
a=T/M;A=Math.floor(a);b=(a-A)*24;B=Math.floor(b);c=(b-B)*60;C=Math.floor((b-B)*60);D=Math.floor((c-C)*60);
runtime_span.innerHTML="运行: "+A+"天"+B+"小时"+C+"分"+D+"秒"}show_runtime();</script>

这一段修改你自己网站初始运行时间

Date("10/10/2006 10:10:00");

 

 

WordPress

WordPress站点健康问题

WordPress站点健康两个小问题
使用php8.1,安装插件经常崩溃,WordPress上插件安装,很多插件未更新,多年前老版本,觉得PHP7.4更稳定些。网站健康检测有2个小问题,搜索网上一些方法,综合网站的问题做了修改,方法简单做了札记。

1、session_start()函数调用生成了一个PHP会话。该会话干扰了REST API及环回请求。在做出任何HTTP请求前,该会话必须由session_write_close()函数关闭。

2、REST API遇到了错误
性能
REST API是WordPress及其他应用与服务器通信的一种途径。例如区块编辑器页面,它依赖REST来显示及保存您的页面和文章。

REST API请求因遇到了错误而失败。
错误:cURL error 28: Operation timed out after 10001 milliseconds with 0 bytes received(http_request_failed)

if(!session_id()) @session_start();

搜索到分享插件WP Open Social,文件open-social.php上面一段代码不行,修改成一下代码。

if(!session_id()) session_start([ 'read_and_close' => true]);

2、安装PHP扩展组件,宝塔面板-软件商店,搜索关键词 php 。

显示搜索结果后点击相应php版本,安装扩展,上面三个扩展组件安装即可解决。

WordPress添加说说微语

1、首先我们把以下代码,添加到主题根目录中的functions.php文件中。下面两步代码安装完成后,在后台页面,建立微语页面,在设置菜单,保存首页导航栏即可。纯代码微语添加微语,不影响百度谷歌搜录和数据备份恢复。

function register_suiyu_post_type() {
    $args = array(
        'labels' => array(
            'name'               => '碎语',              // 自定义文章类型的名称
            'singular_name'      => '碎语',              // 单数名称
            'add_new'            => '添加碎语',           // 新增按钮文案
            'add_new_item'       => '添加新碎语',         // 新增碎语文案
            'edit_item'          => '编辑碎语',           // 编辑碎语
            'new_item'           => '新碎语',             // 新碎语文案
            'view_item'          => '查看碎语',           // 查看碎语文案
            'search_items'       => '搜索碎语',           // 搜索碎语文案
            'not_found'          => '未找到碎语',         // 如果没有找到碎语
            'not_found_in_trash' => '回收站中没有碎语',   // 如果回收站没有碎语
            'menu_name'          => '碎语',              // 菜单名称
        ),
        'public'        => true,          // 是否公开可见
        'has_archive'   => true,          // 是否支持归档页面
        'show_in_rest'  => true,          // 启用Gutenberg编辑器
        'supports'      => array('title', 'editor', 'author', 'thumbnail', 'excerpt'), // 支持字段
        'rewrite'       => array('slug' => 'suiyu'), // 文章别名,设置成 'suiyu'
        'menu_position' => 5,             // 菜单中的位置
        'show_ui'       => true,          // 显示UI界面
        'show_in_menu'  => true,          // 在后台菜单中显示
    );
    register_post_type('suiyu', $args);
}
add_action('init', 'register_suiyu_post_type');

 

2、然后添加模板文件,在模板主题根目录新建一个名为page-suiyu.php的文件,并将以下代码添加在其中

<?php
/**
 * Template Name: 碎语/说说
 */

get_header(); ?>

<style>
/* 样式修改,确保头像和图片不会变形 */
.suiyu_author_img {
    margin-right: 15px; /* 头像与文本之间的间距 */
}

.suiyu_author_img img {
    border: 1px solid #ddd;
    padding: 2px;
    border-radius: 50%;
    height: 50px;
    width: 50px; /* 保证头像是圆形且不变形 */
}

.cbp_tmtimeline {
    list-style: none;
    padding: 0;
}

.cbp_tmtimeline > li {
    margin-bottom: 20px;
    padding: 15px;
    background-color: #FFFFF9;
    border-left: 5px solid #FFE1D2;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
}

.cbp_tmtimeline > li:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.cbp_tmlabel {
    flex: 1;
}

.suiyu_time {
    font-size: 0.9em;
    color: #777;
    margin-top: 10px;
    margin-bottom: 5px;
}
/* 分页样式 */
.pagination {
    text-align: center;  /* 使分页按钮水平居中 */
    margin-top: 20px;
    margin-bottom: 20px;
}

.pagination a, .pagination span {
    padding: 8px 16px;
    margin: 0 4px;
    background-color: #FE8040;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.pagination a:hover, .pagination span:hover {
    background-color: #FFE1D2;
}

/* 确保分页容器在父容器中居中 */
.pagination {
    display: flex;
    justify-content: center;  /* 水平居中 */
    align-items: center;      /* 垂直居中 */
}
    
</style>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">
        <div class="cbp_suiyu">
            <?php
            // 获取当前分页页码
            $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

            // 自定义查询参数
            $args = array(
                'post_type'      => 'suiyu', 
                'post_status'    => 'publish',
                'posts_per_page' => 16, // 每页显示的条数
                'paged'          => $paged, // 当前页
            );

            // 使用 WP_Query
            $query = new WP_Query($args);

            if ($query->have_posts()) : ?>
                <ul class="cbp_tmtimeline">
                    <?php
                    while ($query->have_posts()) : $query->the_post(); ?>
                        <li>
                            <span class="suiyu_author_img">
                                <img src="<?php echo esc_url(get_avatar_url(get_the_author_meta('ID'))); ?>" class="avatar avatar-48" width="48" height="48">
                            </span>
                            <a class="cbp_tmlabel" href="javascript:void(0)">
                                <p><?php the_content(); ?></p>
                                <p class="suiyu_time">
                                    <i class="fa fa-clock-o"></i> <?php echo get_the_time('Y年n月j日G:i'); ?>
                                </p>
                            </a>
                        </li>
                    <?php endwhile; ?>
                </ul>

                <!-- 分页 -->
                <div class="pagination">
                    <?php
                    echo paginate_links(array(
                        'total'   => $query->max_num_pages,
                        'current' => $paged,
                        'format'  => '?paged=%#%',
                        'prev_text' => __('« 上一页'),
                        'next_text' => __('下一页 »'),
                    ));
                    ?>
                </div>

                <?php wp_reset_postdata(); // 重置查询 ?>
            <?php else : ?>
                <h3 style="text-align: center;">你还没有发表碎语噢!</h3>
                <p style="text-align: center;">赶快去发表你的第一条碎语心情吧!</p>
            <?php endif; ?>
        </div>
    </main><!-- #main -->
</div><!-- #primary -->

<?php get_footer(); ?>

 

然后,建立页面微语菜单,并保存首页导航栏,即可写微语了。

Twentytwelve主题文章设置摘要

Twentytwelve是一款简明主题,但首页不能设置文章摘要,简单改动content.php文件一段代码,就可以显示文章摘要。
登录网站后台->外观->主题文件编辑器->找到content.php文件
或者FTP下载修改:路径:wp-content/themes/twentytwelve/content.php
大概40行,找到这一句:

<?php if ( is_search()) : // Only display excerpts for search. ?>

然后替换如下一句:

<?php if ( is_search() || is_category() || is_archive() || is_home()) : // Only display excerpts for search. ?>

打开博客首页,就看到已经实现显示文章摘要,其它分类同样也显示摘要了。
如果显示“继续阅读”,打开主题function.php文件,添加下面一段代码

<?php
// Add 140x140 image size
add_image_size('excerpt-thumbnail', 140, 140, true);
// Remove the ... from excerpt and change the text
function change_excerpt_more()
{
function new_excerpt_more($more)
{
// Use .read-more to style the link
return '<span class="read-more"> <a href="' . get_permalink($post->ID) . '">继续阅读&raquo;</a></span>';
}
add_filter('excerpt_more', 'new_excerpt_more');
}
add_action('after_setup_theme', 'change_excerpt_more');

 

WordPress伪静态设置

1、网站根目录下建立.htaccess文件,内容复制下面代码

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 

2、登录网站后台,在设置里面把固定链接设置自定义结构,添加格式/%post_id%.html

3、当然,你可以自由组合,可用标签有下面这些,分别对应的意思如下:
%year% 年
%monthnum% 月
%day% 日
%hour% 小时
%minute% 分钟
%second% 秒
%post_id% 文章ID(自动生成的)
%postname% 文章名字(需要自己修改,不修改就使用文章名称)
%category% 分类
%author% 作者

robots.txt文件正确写法范本Z-Blog

robots.txt 是存放在站点根目录下的一个纯文本文件。

什么是robots.txt文件?

搜索引擎机器人通过链接抵达互联网上的每个网页,并抓取网页信息。搜索引擎机器人在访问一个网站时,会首先检查该网站的根目录下是否有一个叫做robots.txt的纯文本文件。当我们的网站有一些内容不想被搜索引擎收录,我们可以通过设置robots.txt文件告知搜索引擎机器人。
如果网站上没有禁止搜索引擎收录的内容,则不用设置robots.txt文件,或设置为空。
从SEO的角度,robots.txt文件是一定要设置的,原因:
网站上经常存在这种情况:不同的链接指向相似的网页内容。这不符合SEO上讲的“网页内容互异性原则”。采用robots.txt文件可以屏蔽掉次要的链接。
网站改版或URL重写优化时原来不符合搜索引擎友好的链接需要全部屏蔽掉。采用robots.txt文件删除旧的链接符合搜索引擎友好。
一些没有关键词的页面,比如本站的这个页面,屏蔽掉更好。
一般情况下,站内的搜索结果页面屏蔽掉更好。

 

虽然它的设置很简单,但是作用却很强大,它可以指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或全部内容。

我们要了解一下都是代表什么:

eed.php : RSS Feed 入口文件

index.php : 前端页面入口文件

search.php : 搜索入口文件

zb_install 文件夹:zblog 初始化安装文件夹,安装完毕会自动删除,或手动删除

zb_system 文件夹:为 zblog 框架的主要文件,需要屏蔽搜索蜘蛛去它以及它所包含的内容抓取

zb_users 文件夹:为 zblog 为用户文件夹,里面包含了主题文件夹,插件文件夹,以及附件存放文件夹。

avatar :用户头像文件夹

cache :缓存文件夹

data :数据文件夹(屏蔽蜘蛛)

emotion :表情文件夹

language :语言包文件夹(屏蔽蜘蛛)

logs :目志文件夹,里面文件是记录错误的(屏蔽蜘蛛)

plugin :插件文件夹

theme :主题文件夹

upload :附件文件夹(图片或其它类型文件)

下面一段简单正确Z-Blog博客robots.txt文件范本,复制保存txt上传到网站根目录下就可以了。

User-agent: *
Disallow: /zb_system/
Disallow: /zb_users/data/
Disallow: /zb_users/language/
Disallow: /zb_users/logs/
Sitemap: https://www.zairun.com/sitemap.xml

WordPress程序文件范本

User-Agent: *
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/
Disallow: /wp-admin/
Disallow: /readme.html
Disallow: /refer/

Sitemap: https://www.zairun.com/sitemap.xml
Sitemap: https://www.zairun.com/sitemap.html

 

Emlog转WordPress指南

标题定义为“指南”,只是作为emlog博客程序换wordpress程序的一种指导性方法,不具权威性,同时也必须注意此方法的优缺点,在自己能够承担使用此方法带来的后果时再使用。

     emlog和wordpress的优缺点在这里不再赘述,使用者可自行比较,官方论坛曾收录了一个名为emlog2wp的工具,但是由于此工具使用麻烦,我当时转换的时候没有用此工具,这里只说一下我的方法,但是必须要注意的是:换网站程序是最严重的改版,也将会导致最严重的后果,如非必须,请不要更换网站程序!

     方法大纲:从emlog程序中导出rss>>安装新的wordpress>>导入rss到wordpress>>微调

emlog后台设置,将rss设置数量大于你的文章总数,输出形式为全文

使用IE8或IE9流量器,或者使用火狐,访问http://www.你的域名.com/rss

右键,页面另存为;或者文件>>另存为rss.xml

将你服务器上的emlog程序文件夹整个下载下来备份,最好再做一次完整的数据备份,以防万一

将wordpress程序上传到服务器,按提示安装全新的wordpress

使用编辑器编辑保存的rss.xml,主要,不要使用记事本,找到所有http://www.你的域名.com/content/uploads/ 替换为http://www.你的域名.com/wp-content/uploads/保存rss.xml文件

上传下载下来的emlog文件夹中的/content/uploads/的所有内容到服务器/wp-content/uploads/ 中

登录安装好的wordpress后台,点击左侧“工具”>>导入,使用rss导入工具导入修改好的rss.xml文件

对导入的文章进行微调,图片大小可能会变,再找一个合适的WP主题,就可以了

     使用此方法,速度快,方便,安全,按步骤来,基本不会有问题,但是评论和标签全部丢失,对应的日志ID也全部丢失,将会导致搜索引擎清楚快照,相当于要重新收录,影响很大,所以,一定要慎重!