分類
网站

让WordPress支持webp图片尺寸

在主题的image.php中(推荐复制image.php到子主题再做修改),wp_get_attachment_metadata();函数后添加如下代码:

$文件 = wp_get_attachment_url();
$文件流 = fopen($文件, "rb");
$字节数组 = fread($文件流, 30);
fclose($文件流);
$数组 = unpack("C12格式/S9尺寸", $字节数组);
for($i=9;$i<=12;$i++)
{
    $文件格式.=chr($数组['格式'.$i]);
}
if(0==strcmp ( 'WEBP' , $文件格式 )){//判断是否是webp格式图片
$metadata['width'] = $数组[尺寸8];
$metadata['height'] = $数组[尺寸9];
}
通用的Java和PHP代码参见:获取WebP格式图片的长宽

本文更新於 2014/05/19。

分類
Linux 网站

迁移WordPress网站

forty-two.tk的域名突然被收回了,怀疑是昨天修改了《三月六日》那篇,添加了一点介绍。现在整站搬到了ft.wupo.info,其实wordpress迁移是很简单的,记录一下。

首先在老网站备份数据库和文件。数据库就进入老网站的phpmyadmin,然后导出就行了。我一开始选的自定义导出,用了zip压缩,结果最后不能导入,所以如果大家网速快可以直接选默认导出即可。如果数据库文件很大可以下载后本地压缩成zip在导入新数据库。文件我先是用的BackWPup这个插件,但它好像没有保存插件的文件,所以后来我就直接用ftp把整站文件全部下本地了,这是个笨方法,文件多又大就不适用了可以考虑在服务器压成zip下,或者用ssh。

本文更新於 2019/12/24。

分類
网站

注释

HTML注释:

在HTML中,使用 标签进行注释。

<html>
<body>
<!--这是一段注释。注释不会在浏览器中显示。-->
</body>
</html>
CSS注释:

在CSS中,使用/*...*/进行注释。

/*
Theme Name:     AttorneyChild
Description:    Child theme for the Attorney theme 
Author:         Zengl
Author URI:     http: //ft.wupo.info/about/
Template:       attorney
Version:        0.1.0
*/

本文更新於 2014/10/09。

分類
网站

垃圾评论插件Akismet

垃圾评论终于多起来了,还是选择了老牌反垃圾评论插件Akismet。限于国内网络环境差异,建议获取Akismet API Key时用VPN,否则很容易失败。我是用wordpress帐号获取的Akismet API Key,调用帐号时就出现什么重大安全链接错误,连上VPN就好了。

顺便给大家推荐一个很普通的VPN,http://www.vpnss04.com/,免费用户每天30M流量,手机、PC都能用。我用这个就挺好,有更大需求的可以找其他VPN或者购买付费套餐。

分類
网站

wordpress中functions.php的常用代码

//** *From https://mariushosting.com/how-to-upload-webp-files-on-wordpress/*/
//** *Enable upload for webp image files.*/
//** *支持上傳 webp 格式的圖片文件 */
function webp_upload_mimes($existing_mimes) {
    $existing_mimes['webp'] = 'image/webp';
    return $existing_mimes;
}
add_filter('mime_types', 'webp_upload_mimes');

//** * Enable preview / thumbnail for webp image files.*/
//** *支持預覽 webp 圖片的縮略圖*/
function webp_is_displayable($result, $path) {
    if ($result === false) {
        $displayable_image_types = array( IMAGETYPE_WEBP );
        $info = @getimagesize( $path );

        if (empty($info)) {
            $result = false;
        } elseif (!in_array($info[2], $displayable_image_types)) {
            $result = false;
        } else {
            $result = true;
        }
    }

    return $result;
}
add_filter('file_is_displayable_image', 'webp_is_displayable', 10, 2);

在footer中添加谷歌分析代码:

/*在底部添加谷歌分析代码*/
<?php
function add_googleanalytics() { ?>
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-********-1', 'yoursite.com');
  ga('send', 'pageview');

</script>
<?php }

add_action('wp_footer', 'add_googleanalytics');?>

本文更新於 2020/06/23。

分類
网站

pre与code嵌套会有缩进

<pre>与<code>标签嵌套后会产生奇怪的首行缩进,而且没找到解决办法,于是不嵌套,只用<pre>就可以了。

默认情况下修改<pre>样式为white-space:pre ;,修改<code>样式为margin: 0rem;,问题即可解决!

分類
方法 网站

在wordpress文章的头部引用js

首先需要在主题的子主题的function.php中添加如下代码

function my_js() {
    if (is_single() || is_page()) {
        global $post;
        $my_js=get_post_meta($post->ID, 'my_js', true);
        if($my_js){
                echo '<script type="text/javascript" src="'.$my_js.'"></script>';
        }
    }
}
add_action('wp_head','my_js');

然后在新建文章页面找到“自定义栏目”,如果没找到就到页面右上角的“显示选项”里将其打开。添加自定义栏目,名称填“my_js”,值填你的js路径,如“http://www.google-analytics.com/analytics.js”,即可在编辑框进行调用了。其中引用的js将会写在head中。

同理,稍作修改亦可添加外部css,以及js或css片段。