月度归档: 2021 年 6 月

  • VSCode编辑器 代码格式化整理

    VSCode编辑器 代码格式化整理

    vs code格式化代码的快捷键如下:

    • On Windows Shift + Alt + F
    • On Mac Shift + Option + F
    • On Ubuntu Ctrl + Shift + I

    但是自带的格式化并不能满足我的需求,这个时候,不得不说插件大法好。

    代码格式化为eslint风格

    需要插件:eslint

    在设置中添加:

    "eslint.autoFixOnSave": true,
    "eslint.validate": [
      "javascript",
      "javascriptreact",
      {
        "language": "html",
        "autoFix": true
      },
      {
        "language": "vue",
        "autoFix": true
      }
    ],
    

    eslint.autoFixOnSave 用来进行保存时自动格式化,但是默认只支持 javascript .js 文件。

    eslint.validate 用来配置作用的文件类型。

    然后在保存代码的时候,就会自动格式化为eslint风格(需要保存多次)。

  • WordPress官方主题twentytwelve首页如何显示文章摘要  图文教程

    WordPress官方主题twentytwelve首页如何显示文章摘要 图文教程

    方法:网站后台->外观->编辑->找到content.php文件

    或者ftp下载修改:路径:wp-content/themes/twentytwelve/

    找到这一句:

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

    然后修改一下:

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

    这样,首页和其他页面就可以显示摘要了

  • 值得入手的个人博客和自媒体WordPress付费主题

    值得入手的个人博客和自媒体WordPress付费主题

    JustNews主题

    JustNews这款主题最近看到的也是比较多的。目前售价是599元,不过仅限绑定一个域名,同时需要注意的是,这次活动是可以绑定两个域名。平均单个站点成鞥本是300元。

    JustNews主题

    在响应式和内容的格式丰富度上,这款主题会更优秀一些。比如适合有图文功能的。

    直达链接:https://www.jiloc.com/go/wpcom

  • 记一次SourceGuardian加密的PHP扩展安装过程

    记一次SourceGuardian加密的PHP扩展安装过程

    问题描述

     从网上下载了一套PHP聊天室源码,部署在Winserver中的Apache服务器,打开文件 common.inc.php,发现一串不知所云的代码:

    报错信息说的是 sg_load 函数没有找到,查找一番资料后,发现 sg_load 是 SourceGuardian 扩展提供的全局函数,运行环境需要这个扩展才能执行这段代码。SourceGuardian 提供 php 源码文件的加密,而运行这些加密 php 文件则需要安装扩展:SourceGuardian loader。

    SourceGuardian loader 安装过程

    浏览器中打开 https://www.sourceguardian.com/loaders/download.php,输入服务器上打印了 phpinfo 信息的 php 文件地址:

    在线的检查脚本会根据 phpinfo 的信息,提取到 php 版本信息和扩展路径,然后提示你需要的操作。例如它提示我 extension_dir 应设置为绝对路径而非相对路径:

    那就改呗,在 php.ini 中找到 extension_dir,将原来的相对路径 ./ext 改为绝对路径。重启 Apache 然后重新执行检测:

    到这一步它提示我需要:

    1. 下载 ixed.5.4.win
    2. 安装到 php 扩展的 ext 目录
    3. 在 php.ini 中加载它:extension=ixed.5.4.win
    4. 重启 Apache

    全部修改完成后,在 phpinfo 看到了 SourceGuardian 的相关信息,说明扩展已经生效了:

    满怀期待的再次访问网站。依旧报错,不过这一次不是找不到 sg_load 函数了,再次访问就一切OK~~

  • 解决主题不兼容提示”Call to undefined function sg_load()”问题

    解决主题不兼容提示”Call to undefined function sg_load()”问题

    上午在安装一个主题的时候居然重新在新的服务器打开有提示”Call to undefined function sg_load()”问题,当然网站是打不开的。

     Fatal error: Uncaught Error: Call to undefined function sg_load()

    以上是报错信息,可以从信息看到可能是需要支持sg_load()扩展的,因为他的主题是付费的用的授权码,所以需要去服务器安装sg_load()。

    我们找到当前网站的PHP版本,找到扩展在线直接安装SG11,安装完毕之后再去刷新,问题解决。

  • php正则判断是否携带http和https 是否绝对连接和相对连接

    php正则判断是否携带http和https 是否绝对连接和相对连接

    记录一下php正则检测网址是否包含http、https字符,代码如下

    $url = "https://www.baidu.com/";
    $preg = "/^http(s)?:\\/\\/.+/";
    if(preg_match($preg,$url)){
        echo 'Yes';
    }else{
        echo 'No';
    }
  • WordPress自动提交链接到百度

    WordPress自动提交链接到百度

    将网站新内容提交到百度,有利于网站SEO。百度搜索资源平台提供了主动推送链接的接口,可以免去我们手动提交链接的麻烦。

    尽管曾有插件可实现这一功能,但总所周知,给WordPress添加过多插件并非一个明智的选择。这种能用几行代码实现的单一功能,咱们还是用代码实现吧。

    我根据百度搜索资源平台提供的主动推送接口示例,编写了WordPress的主动推送代码,将下面的代码添加到你正在使用的主题的function.php文件最后、或者插件代码中添加,并将代码中的example_token替换成你在百度搜索资源平台获取的URL和Token即可。

    // Push To Baidu
    function push_to_baidu_zz($post_id, $post, $update){
        $site_url = site_url();
        $token = 'xxxxxxxxx'; //这里需要自行替换
        if($post->post_status != 'publish'){
            return;
        }
        $baidu_zz_api_url   = 'http://data.zz.baidu.com/urls?site='.$site_url.'&token='.$token;
        $response   = wp_remote_post($baidu_zz_api_url, array(
            'headers'   => array('Accept-Encoding'=>'','Content-Type'=>'text/plain'),
            'sslverify' => false,
            'blocking'  => false,
            'body'      => get_permalink($post_id)
        ));
    }
    add_action('save_post', 'push_to_baidu_zz', 10, 3);

    代码逻辑很简单。在保存文章时,判断文章状态是否为发布,如果是文章状态是发布,那么就用Post提交文章链接到百度的接口。

  • wordpress 自定义字段查询 meta_query 参数中使用like和in来进行查询

    wordpress 自定义字段查询 meta_query 参数中使用like和in来进行查询

    有时候我们在wordress开发中可能需要根据自定义字段来进行一次查询,然后得出结果。一般情况下,我们使用等号来进行相等条件的查询,但我们也可以使用like和in来进行查询。下面请看代码示例。

    使用IN的代码

    $user_ids = array(60, 61, 62, 63);
     $args = array(
       'post_type' => 'post',
       'meta_key' => 'likes',
       'post_status'       => 'publish',
       'posts_per_page'    => -1,
       'orderby'           => 'rand',       
       'order' => 'ASC',
       'meta_query' => array(
           array(
               'key' => 'likes',
               'value' => $user_ids, //array
               'compare' => 'IN',
           )
       )
     );
     $query = new WP_Query($args);
    这里使用了’meta_key’ => ‘likes’对结果进行排序,意思是结果按照自定义的likes字段来进行排序。然后使用 ‘meta_query’来做自定义值的条件查询,likes值在$user_ids的结果都输出来。

    或者

     $args = array(
        'post_type'         => 'post',
        'post_status'       => 'publish',
        'posts_per_page'    => -1,
        'orderby'           => 'rand',
        'meta_query'        => array(
     
            array(
                'key'       => 'likes',
                'value'     => $user_ids,
                'compare'   => 'IN'
            )
        )
    );
    $posts = get_posts($args);

    使用LIKE的代码

        $args = array(
        'meta_query' => array(
            array(
                'key' => 'my_meta_key',
                'value' => serialize(strval($my_id)),
                'compare' => 'LIKE'
            )
        )
    );
    $posts = get_posts( $args );

    这个是对数组进行了序列化。

  • 靖江和瑞琴行

    靖江和瑞琴行

    靖江和瑞琴行于2009年在成立,2010年靖江和瑞琴行旗舰店盛大开业。目前主营:国际主流品牌钢琴销售、流行乐器销售以及专业师资乐器教学等。

    靖江和瑞琴行是中国音乐学院社会艺术水平考级在靖江的总考点,负责统筹中国音乐学院在靖江地区的乐器考级工作。           

  • WordPress 主题/插件开发 自定义文章分类 筛选功能 图文教程

    WordPress 主题/插件开发 自定义文章分类 筛选功能 图文教程

    前面我们介绍了WordPress开发注册自定义文章的一些方法

    下面我们教大家如何在WordPress后台edit.php的自定义文章列表中筛选自定义文章的分类,代码段如下:

    function sites_posts_taxonomy_filter() {
    	global $typenow; 
    	if( $typenow == 'sites' ){ //指定post_type类型
    		$taxonomy_names = array('favorites', );//指定分类taxonomy
    		foreach ($taxonomy_names as $single_taxonomy) {
    			$current_taxonomy = isset( $_GET[$single_taxonomy] ) ? $_GET[$single_taxonomy] : '';
    			$taxonomy_object = get_taxonomy( $single_taxonomy );
    			$taxonomy_name = strtolower( $taxonomy_object->labels->name );
    			$taxonomy_terms = get_terms( $single_taxonomy );
    			if(count($taxonomy_terms) > 0) {
    				echo "<select name='$single_taxonomy' id='$single_taxonomy' class='postform'>";
    				echo "<option value=''>All $taxonomy_name</option>";
    				foreach ($taxonomy_terms as $single_term) {
    					echo '<option value='. $single_term->slug, $current_taxonomy == $single_term->slug ? ' selected="selected"' : '','>' . $single_term->name .' (' . $single_term->count .')</option>'; 
    				}
    				echo "</select>";
    			}
    		}
    	}
    }
     
    add_action( 'restrict_manage_posts', 'sites_posts_taxonomy_filter' );
  • php 检测是否是 日文

    php 检测是否是 日文

    最近我们在做高考小语种的项目,需要检测到字符串中是否是日语,这里记录一下代码段

    <?php
    $word = "激安価格お買い得タイヨー脱腸帯·片側用 fm 腰回り";
    $word2 = "This is the english language";
    function isJapanese($lang) {
        return preg_match('/[\x{4E00}-\x{9FBF}\x{3040}-\x{309F}\x{30A0}-\x{30FF}]/u', $lang);
    }
    var_dump(isJapanese($word)); //returns 1
    var_dump(isJapanese($word2));//returns 0
  • 解决WordPress升级时提示正在执行例行维护,请一分钟后回来

    解决WordPress升级时提示正在执行例行维护,请一分钟后回来

    最新很多博主反应在我们升级WordPress插件或者主题时候,总会遇到一个提示:正在执行例行维护,请一分钟后回来的问题,然后站点就无法正常显示。

    首页显示如下内容

    正在执行例行维护,请一分钟后回来
    Briefly unavailable for scheduled maintenance. Check back in a minute

    其实造成这种问题的原因就在于WordPress可能因为网络问题,导致升级失败,然后就有可能停留在维护模式。

    前/后台,都一直显示以上错误提示。

    解决办法也很简,使用FTP工具或者SSH工具,登录网站服务器,查看网站的根目录下有一个文件是否有一个文件名称为.maintenance的文件,如果有就删除这个文件,维护模式就能解除。

    站点也就恢复了。

WeChat
↑