天兴工作室

主题演示站

wordpress只获取当前用户头像图片地址的方法

最近又在折腾wordpress了,个人感觉wordpress和zbp还真的是大不一样,wp完全就是函数走天下。一些模板常用的数据标签都是用各种各样的函数来实现,而zbp好多标签都弄到了“$zbp“这个对象里面去了,要获取起来比较简单。至于哪个效率更高我这技术水平就真说不上来了。

本文要说的是获取当前用户的头像这个需求。zbp直接用标签”$zbp->user->Avatar“即可。而wp需要这样:

//定义下全局参数
global $current_user;
//一个函数
get_currentuserinfo();
//输出头像,两个参数,第一个是用户ID(必须),第二个是头像大小(可选)
echo get_avatar( $current_user->ID, 32);

但是上面那玩意获取出来的是一个完整的”<img>“标签,在某些情况下只要用户头像图片的url咋办呢?还得另外写个函数:

function get_avatar_url($avatar_html) {
    preg_match('/src=["|\'](.+)[\&|"|\']/U', $avatar_html, $matches);
    if ( isset( $matches[1] ) && ! empty( $matches[1] ) ) {
        return esc_url_raw( $matches[1] );
    }
    //这里其实可以输出个默认的头像图片地址
    return '';
}

最后的wp获取当前用户头像图片地址的代码是:

//定义下全局参数
global $current_user;
//一个函数
get_currentuserinfo();
//输出头像,两个参数,第一个是用户ID(必须),第二个是头像大小(可选)
$userimg = get_avatar( $current_user->ID, 32);
echo get_avatar_url($userimg);

就是这么累。

wordpress面包屑导航怎么写?wordpress面包屑导航代码

面包屑导航的作用是告诉网站的访问者他们目前在网站中的位置以及如何返回,是一个重要的功能。那么wordpress面包屑导航怎么写?本文就来分享下实现wordpress面包屑导航的代码。

首先在你正在使用的wordpress主题的“functions.php”文件里粘贴如下函数代码:

function tx_breadcrumbs(){
    if (!is_home()) {
        echo '<a href="' . get_settings('home') . '" title="回到首页">首页</a>';
        if (is_category()) {
            $cat_ID = get_query_var('cat');
            echo " > " . get_category_parents($cat_ID, TRUE, " > ");
        } elseif (is_single()) {
            $category = get_the_category();
            $category_id = $category[0]->term_id;
            echo ' >   ' . get_category_parents($category_id, TRUE, " > ");
            echo the_title();
        } else {
            echo " >  ";
            echo wp_title('', 0);
        }
    }
}

然后在需要引用的地方写上“<?php echo tx_breadcrumbs(); ?>”即可显示。


此wordpress面包屑导航显示效果如下图:

分类页:

内容页:

wordpress页面调用指定模板的方法

wordpress页面是可以调用指定的模板文件的,默认的wordpress页面模板是page.php。另外默认的新建页面界面里是没有选择模板功能的,这就会让人误以为wordpress是不能选择页面模板的。

然而是可以的,具体步骤如下:

1、将page.php文件复制一份重新命名,举个栗子重命名为“newpage.php”;

2、打开“newpage.php”文件,在顶部粘贴如下代码:

/**
 * Template Name:新增的自定义页面模板
 */

具体如下图:

1.png


3、然后去后台新建页面,就能看到如下界面选择对应模板了:

2.png

wordpress分类调用标签函数大全

本文记录下wordpress分类调用的标签和函数:

调用wordpress全部分类函数:

$args = array(
    'type'  => 'post',
    'child_of' => 0,
    'parent'  => '',
    'orderby'  => 'name',
    'order' => 'ASC',
    'hide_empty'  => 1,
    'hierarchical' => 1,
    'exclude' => '',
    'include' => '',
    'number'  => '',
    'taxonomy' => 'category',
    'pad_counts'  => false 
);
get_categories($args);

函数参数说明:

type(字符) post

child_of(整数)仅显示标注了编号的分类的子类。该参数无默认值。使用该参数时应将hide_empty参数设为false

parent(整数)只显示某个父级分类以及下面的子分类(注:子分类只显示一个层级)。

orderby(字符)将分类按字母顺序或独有分类编号进行排序。默认为按分类 编号排序包括ID(默认)和Name

order(字符)为类别排序(升序或降序)。默认升序。可能的值包括asc(默认)和desc

hide_empty(布尔值)触发显示没有文章的分类。默认值为true(隐藏空类别)。有效的值包括:1(true)和0(false)。

hierarchical(布尔值)将子类作为内部列表项目(父列表项下)的层级关系。默认为true(显示父列表项下的子类)。有效值包括1 (true)和0(false)

exclude(字符)除去分类列表中一个或多个分类,多个可以用逗号分开,用分类ID号表示。

include(字符)只包含指定分类ID编号的分类。多个可以用逗号分开,用分类ID号表示。

pad_counts(布尔值)通过子类中的项来计算链接或文章。有效值包括1(true)和0(false),0为默认。

number(字符)将要返回的类别数量。

taxonomy(字符))返回一个分类法,这个是wordpress3.0版本后新添加的一个参数。返回的值包括category(默认)和taxonomy(一些新定义的分类名称)。


通过分类id获取分类名称:“get_cat_name(分类ID)”;

通过分类id获取分类链接:“get_category_link(分类ID)”;

通过分类名称获取分类ID:“get_cat_ID(分类名称)”;


还有一个“get_category()”函数,可以通过分类id返回这个分类的全部对象。用法如下:

$cateobj = get_category(分类id);
分类id:$cateobj->term_id;
分类名称:$cateobj->name;
分类别名:$cateobj->slug;
分类组:$cateobj->term_group;
分类id:$cateobj->term_taxonomy_id;
分类type:$cateobj->taxonomy;
分类描述:$cateobj->description;
分类所属父分类:$cateobj->parent;
分类文章数量:$cateobj->count;
分类过滤:$cateobj->filter;
分类id:$cateobj->cat_ID;
分类文章数量:$cateobj->category_count;
分类描述:$cateobj->category_description;
分类名称:$cateobj->cat_name;
分类别名:$cateobj->category_nicename;
分类所属父分类:$cateobj->category_parent;

调用分类自定义字段,例如你的主题在分类里面增加了自定义字段,自定义字段一般是存储在“option”表里面的,所以可以直接用“get_option()”函数获取即可,调用代码如下:

get_option('cat-字段名-分类id');

以上就是wordpress分类调用的一些标签和函数了。

wordpress调用今日发布文章数量和总文章数量的方法

今天在做一个wordpress模板的时候需要调用今日发布的文章数量和总发布的文章数量,一番查询解决后记录下方法以免忘记。

调用wordpress网站发布的文章总数量有一个现成的函数“wp_count_posts()”,函数的返回值是一个对象,对象里面有以下值可以调用:

object(stdClass)#296 (8) {
//已发布文章的总数
 ["publish"]=>string(1) "5"
//定时发布文章的总数
 ["future"]=>int(0)
//草稿文章的总数
 ["draft"]=>int(0)
//正在编辑文章的总数
 ["pending"]=>int(0)
//隐私文章的总数
 ["private"]=>int(0)
//垃圾箱文章的总数
 ["trash"]=>int(0)
//自动草稿文章的总数
 ["auto-draft"]=>int(0)
//继承的文章总数??
 ["inherit"]=>int(0)
}

使用方法:

//获取文章数量
$postcount = wp_count_posts();
//输出文章总数
echo $postcount->publish;

调用wordpress网站今日发布文章总数需要自行写一个函数查询数据库实现,方法如下:

在主题的”functions.php“文件里面复制粘贴如下函数:

/* 调用今日更新文章数量 */
function txcstx_get_posts_today($post_type = 'post')
{
    global $wpdb;
    $numposts = $wpdb->get_var(
        $wpdb->prepare(
            "SELECT COUNT(ID) " .
                "FROM {$wpdb->posts} " .
                "WHERE post_status='publish' " .
                "AND post_type= %s " .
                "AND DATE_FORMAT(post_date, '%Y-%m-%d') = %s",
            $post_type,
            date('Y-m-d', time())
        )
    );
    return $numposts;
}

然后在需要显示的地方直接调用以下代码即可:

<?php echo txcstx_get_posts_today(); ?>

以上就是wordpress调用文章总数和今日发布文章总数的方法了,如果你还有其他更好的实现方式欢迎评论区域分享。

wordpress在国内无法更新升级的解决办法

wordpress官网去年在国内大半年的时间打开都是报429错误,我想着就wordpress官方这个鸟态度,直接跟Android一样弄个国内版的安卓出来好啦。反正是官方先不做人的。

结果发现还真有人这么干了,真特么漂亮。

昨天发现了一个叫“wp中国本地化社区”的网站,他们开发了一个“WP-China-Yes插件”,安装后可以直接在后台更新wordpress程序、主题和插件了,妈个鸡这么基础的功能还要通过插件实现,wordpress官方对国内这么大数量的用户鸟都不鸟这份气度是让人佩服的!


WP-China-Yes插件插件官网:https://wp-china.org/

插件直接下载地址:https://a1.wp-china-yes.net/apps/wp-china-yes.zip


最后还是一些吐槽,对wp官方真是吐不完的槽,一群白皮傻X。

由于wp的一些资源服务器都是放在国外的,所以国内wp用户用起来就特别卡和慢。用之前还得先查老半天的教程设置。结果越来越过分,官网直接不能访问长达大半年时间都没人管,发个声明就告诉国内用户“我知道这个情况了,但是不是我造成的,而且我不管!”,牛逼牛逼。

还有“WP-China-Yes插件”本来也是可以直接在wp官方应用市场安装的,结果去年4月份被官方下架了,理由是官方不允许从其他来源安装wordpress程序及插件主题。问题是你官方倒是给我一个可以正常使用的渠道啊,煞笔一群。

通过这种事情还是看得出来,各种区域还是得国人自己慢慢开发,等白皮老爷来迁就我们代价有点大。

最后,wordpress用户实在太多了,真香!赶紧去多写几款wordpress主题去......

wordpress导航栏自定义添加class和rel="nofollow"的步骤

wordpress导航栏是可以自定义添加class和rel="nofollow"的,但是新手往往找不到设置入口,如果你也遇到了这个问题,可以按照本文步骤操作。

第一步:打开后台--外观--菜单,点击右上角的“显示选项”,会出现以下界面:

1.png

然后再勾选“CSS类”和“链接关系(XFN)“两个。

第二步:还是打开后台--外观--菜单,点开“使用实时预览管理”来到导航栏设置界面,在打开的新页面里面先选择导航栏,然后就可以对导航栏的某项设置css类和rel="nofollow"了,如下图:

2.png

设置完成点击发布即可完成整个步骤。

wordpress提示"Error establishing a database connection"的解决办法

今天一个客户的wordpress网站提示"Error establishing a database connection",所有页面都打不开了。

这个提示的意思翻译出来是“建立数据库连接时出错”。按提示来说应该就是数据库没链接上。

一开始以为是用户自己修改数据库信息导致的,去“wp-config.php”里面查看数据库信息发现并没有问题,然后准备用“phpmyadmin”打开数据库看下,结果数据库登录不上去,提示登录失败。

查看“MySQL”服务发现已经挂了,“MySQL”的状态是关闭。重新启用问题就解决了。

1.png

最后的疑惑是到底是操作了什么会导致“MySQL”挂掉呢?

wordpress提示“XML 解析错误:XML 或文本声明不在实体的开头”

今天在测试wordpress的时候发现在添加分类的时候ajax失效了,浏览器f12查看提示“XML 解析错误:XML 或文本声明不在实体的开头”。如下图:

2.png

网上搜索了下,最后弄清楚了,出现这个提示是因为页面内有多余的空格造成的。

调试器里面看也证实了是这个原因造成的:

12.png

知道问题原因后就可以通过排查来解决问题了。

先排查主题,更换默认主题没有这个问题,证明是主题造成的。

然后主题排查主题自带的函数文件,最后终于发现是主题的一个文件“?>”后门有多余的空格造成的...

如果你恰巧也遇到此问题,可以按照此文思路排查以下,一般都是主题或者插件的代码里面有多余的空格导致的。

wordpress数据库配置文件wp-config.php说明 解决本地安装wordpress速度慢的问题

本地电脑安装了一个wordpress程序,环境用的是phpstuty,php版本是7.0。但是在使用过程中发现打开页面都特别慢。

先以为是某些服务被墙了导致的,但是到了线上服务器环境上测试又没有发现有这个问题。后来想起zblogphp本地安装的时候也会有这个问题,解决办法是修改数据库配置文件里面的数据库地址。

于是就查了下wordpress的数据库配置文件资料,终于解决了这个问题,分享下过程。

首先wordpress的数据库配置文件名称是“wp-config.php”路径就在根目录下。

打开这个文件后是这样的:

1.png

上图一共六项,从上到下分别是数据库名称、数据库用户名、数据库密码、数据库地址、数据库编码和数据库类型。

我们需要修改的就是数据库地址这项,如果没有特别配置wordpress默认的数据库地址就是“localhost”,造成本地打开页面速度慢的也就是这里。

我们只需要将“localhost”修改为“127.0.0.1”即可,然后保存此文件,再打开你的wordpress网站,是不是变快了呢?

PS:没有特别需求程序安装好后请不要修改数据库配置文件,修改前也记得做好备份以免出意外造成数据丢失,切记。

<< 1 2 > >>
«    2025年5月    »
1234
567891011
12131415161718
19202122232425
262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.4

天兴工作室主题演示站点,如遇到问题请联系我们的在线qq:207649916咨询