作者: admin

  • wordpress函数之get_the_terms

    该函数用于在已知文章ID和分类法的时候调用,常用于文章详情页面。用来获取分类信息

    用法:

    /** 
    第一个参数表是当前文章的ID, 第二个参数表示所属的分类法,即taxonomy name。
    在single页面时可以直接使用 $post->ID
    **/
    $terms = get_the_terms($post->ID, 'product_category');

  • wordpress函数之get_term_by

    该函数用来获取一个分类的信息,实际是 wp_terms 和 wp_term_taxonomy 表的联合查询

    第一个参数表示根据 wp_terms 表的哪个字段查询

    第二个参数表示该字段的值

    第三个参数表示分类法的名称,即 wp_term_taxonomy 表的 taxonomy

    $term = get_term_by('slug', 'software', 'product_category');

  • wordpress中和category页面有关的函数

    获取当前分类的分类名称

    <?php single_cat_title() ?>

    获取当前分类的slug

    <?php
    $term = get_queried_object();
    echo $term->slug;
  • wordpress函数之get_terms

    该函数用来查询某一 taxonomy 下的所有分类,即wp_term_taxonomy和wp_terms表的联合查询结果。

    用法如下 :

    <?php  
        $terms = get_terms([
    	    /* wp_term_taxonomy 表的 taxonomy 字段值
    		   代码层面就是 register_taxonomy 注册的分类方法 */			
            'taxonomy' => 'product_category',
            // 如果该分类下没有文章,是否显示 
            'hide_empty' => false,
            /*该分类的上级分类,即 wp_term_taxonomy 表的 parent 字段,
             如果查询一级分类,设置为 0 即可。
             如果查询子分类,这里只需指定父分类的term_id即可
             wp_term_taxonomy 表的 parent 字段,指的是 term_id 字段 */         
            'parent' => 0,
            /* 根据哪个字段进行排序,网上找的代码这里写id就能排序,不知道这个id是哪个表的id
    	       估计应该是 term_id 字段 */
            'orderby'=> 'id',
            // 升序排序
            'order'  => 'ASC'
        ]);
        foreach($terms as $term):
    ?>
    
    <a href="javascript:void(0)" class=""><?php echo $term->name;  ?></a>
    
    <?php endforeach; ?>
  • wordpress函数之get_term_by

    该函数用来获取一个分类的信息,实际是 wp_terms 和 wp_term_taxonomy 表的联合查询

    第一个参数表示根据 wp_terms 表的哪个字段查询

    第二个参数表示该字段的值

    第三个参数表示分类法的名称,即 wp_term_taxonomy 表的 taxonomy

    $term=get_term_by('slug','software','product_category');

  • wordpress函数之wp_trim_words

    wordpress有个wp_trim_words函数,该函数的功能是对给定的内容进行截取,可以指定截取多少个字,用法示例代码如下:

    <?php
    echo wp_trim_words( get_the_content(), 66 ); // 文章内容
    echo wp_trim_words( get_the_excerpt(), 66 ); // 文章摘要
    echo wp_trim_words( get_the_title(), 30 ); // 文章标题
    ?>

  • WordPress把本地项目迁移到服务器时,需要更新数据库相关链接

    更新的SQL代码如下:

    UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://lwbj.cn', 'https://lwbj.cn'); 
    
    UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, 'https://lwbj.cn', 'https://lwbj.cn'); 
    
    UPDATE wp_options SET  option_value = 'https://lwbj.cn' WHERE option_name = 'siteurl' or option_name = 'home';

    其中,https://lwbj.cn 表示线上网址。如果其它表中需要替换,新增相应的SQL语句即可。

    更改用户资料中的网址:

    update wp_users set user_url='https://lwbj.cn' where user_login='admin';

    更改用户资料中的邮箱:

    update wp_options set option_value='example@gmail.com' where option_name='admin_email';
    update wp_users set user_email='example@gmail.com' where user_login='admin';
  • 升级wordpress时提示 另一更新正在进行

    有升级wordpress时,一次不成功,再次尝试升级就会提示:另一更新正在进行。

    解决办法:

    在wp_options表里删除option_name为core_updater.lock这条记录就可以了。

    delete from wp_options where option_name='core_updater.lock';

  • nginx反代iis 支持泛域名,支持WordPress多站点

    nginx配置:

    upstream qd-aliyun-8006 {
        server x.x.x.x:8006;
    }
    
    server {
        listen 80;
        server_name softc.cc *.softc.cc;
    
        location / {
            proxy_pass http://qd-aliyun-8006;
            proxy_redirect default;
    
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Real-Port $remote_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Port  $server_port;
            proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
        }
    }
    

    注意是要有 proxy_set_header Host $host; 这一行。

  • WordPress开启多站点

    wordpress 有一个多站点模式,开启这个模式后,可以在一个后台管理多个独立的网站,省时方便。

    开启wordpress多站点模式非常简单,按下面的步骤操作即可:

    打开config.php,在 /* 好了!请不要再继续编辑。请保存本文件。使用愉快! */ 这句话的上一行,添加如下代码:

    define('WP_ALLOW_MULTISITE', true);

     保存后,即可开启wordpress多站点模式。