扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
提供一个随机输出WordPress分类的思路
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了阳东免费建站欢迎大家使用!
获取到所有分类的ID转换成数组;
然后通过rand随机输出数组;
提示:需要使用count计算数组和,并且减一。
可以参考:网页链接
WordPress 基本自带的函数都是直接输出文章标题长度的,有些标题太长了就会自动换行,解决办法一种是使用mbstring函数库来解决,这样就可以指定具体标题字数,另一种也可以通过CSS的方式控制,这里我们只谈使用函数来控制。在 WordPress 里,我们使用
the_title();
来输出文章标题,与其相关的还有一个函数:
get_the_title();
简单的说说两者的关系,get_the_title() 返回值是一个字符串(文章标题),而 the_title() 就是该字符串通过 echo 输出后的值。
实际上就是 WordPress 自己在输出文章标题时进行了简化,直接用
the_title();
代替了
echo get_the_title();
除此之外这里还需要用到另外一个函数:mb_strimwidth(string str, int start, int width, [string trimmarker], [string encoding]);mb_strimwidth() truncates string str to specified width. It returns truncated string.If trimmarker is set, trimmarker is appended to return value.start is start position offset. Number of characters from the beginning of string. (First character is 0)trimmarker is string that is added to the end of string when string is truncated.encoding is character encoding. If it is omitted, internal encoding is used.
现在大部分的 PHP 服务器都支持了 MB 库(mbstring 库 全称是 Multi-Byte String 即各种语言都有自己的编码,他们的字节数是不一样的,目前php内部的编码只支持ISO-8859-*, EUC-JP, UTF-8 其他的编码的语言是没办法在 php 程序上正确显示的。解决的方法就是通过 php 的 mbstring 函数库来解决),所以我们可以放心的使用这个用于控制字符串长度的函数:
echo mb_strimwidth(get_the_title(), 0, 38, ‘…’);
那么我们只需要用上面这个函数替换 WordPress 原有的
the_title();
即可,这里我输出了字符串的第0位到第38位,根据主题的不同可以自行设置该数值,另外多余长度部分使用“…” 代替。
其实我在控制文章摘要的时候也是使用的这个函数,比如我在 ppcnnet 主题的首页里使用的就是
echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post-post_content)), 0, 285,”……”);
来输出285个字符长度的摘要,并过滤了 HTML 标记。
虽然这是个很简单的方法,但我相信它对主题制作者而言还是相当实用的。
用网站安全检测扫瞄博客 发现了一个漏洞 实际上就是直接访问主题路径的话 get_header()函数未生效(Call to undefined function get_header() ) 而我的WordPress会输出完整的错误信息 将敏感名称的目录结构暴露了 虽然对正常访问没有影响 可是会给某些人可乘之机 经常在博客后台看到很多人扫瞄博客各种路径或文件 尽可能多的解决漏洞 会大大增强网站安全性 秀一下我的博客安全性 分 没有漏洞 虽说只是表面的 但是我会发现一个解决一个!
下面详细说明下我遇到的问题和解决方案 供参考
环境 linux vps + lnmp
完整错误信息如下
Fatal error: Call to undefined function get_header() in /网站根路径/izhangheng/wp content/themes/entyelve/ on line
解决方案 如果WEB应用程序自带错误处理/管理系统 请确保功能开启 否则按语言 环境 分别进行处理 如果是PHP应用程序/Apache服务器 可以通过修改php脚本 配置php ini以及中的配置项来禁止显示错误信息
修改php ini中的配置行: display_errors = off 修改中的配置行: php_flag display_errors off 修改php脚本 增加代码行: ini_set(‘display_errors’ false);
针对这个问题 仅不显示错误信息是不完美的 出错后跳转到首页 可以避免流量丢失 我的环境默认就关闭显示错误信息 只需要在有漏洞的页面源码前调用WordPress函数即可 首先进入到WordPress后台的外观中 比如编辑的是index php首页模版 将头部代码更改为下面的即可 注意所有符号为英文
代码如下 lishixinzhi/Article/program/PHP/201311/21108
先判断下是否登录,然后获取当前用户对象,然后获取当前用户对象的信息,需要哪些用哪些:
if(is_user_logged_in()){
$current_user = wp_get_current_user();
/**
* @example Safe usage: $current_user = wp_get_current_user();
* if ( !($current_user instanceof WP_User) )
* return;
*/
echo 'Username: ' . $current_user-user_login . 'br /';
echo 'User email: ' . $current_user-user_email . 'br /';
echo 'User first name: ' . $current_user-user_firstname . 'br /';
echo 'User last name: ' . $current_user-user_lastname . 'br /';
echo 'User display name: ' . $current_user-display_name . 'br /';
echo 'User ID: ' . $current_user-ID . 'br /';
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流