wordpress评论函数

调用评论

comment_form()常用在comments.php中,调用整个评论区

<?php comment_form($args, $post_id); ?>

$args:comment_form() 的输出配置参数,为一个关联数组,配置项非常丰富,下面我们会详细说明。
$post_id:文章id,默认为空,即当前id
$args的默认配置:

$defaults = array(
	'fields'               => apply_filters( 'comment_form_default_fields', $fields ),
	'comment_field'        => '

<label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea>

',
	'must_log_in'          => '

' .  sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '

',
	'logged_in_as'         => '

' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '

',
	'comment_notes_before' => '

' . __( 'Your email address will not be published.' ) . ( $req ? $required_text : '' ) . '

',
	'comment_notes_after'  => '

' . sprintf( __( 'You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: %s' ), ' <code>' . allowed_tags() . '</code>' ) . '

',
	'id_form'              => 'commentform',
	'id_submit'            => 'submit',
	'title_reply'          => __( 'Leave a Reply' ),
	'title_reply_to'       => __( 'Leave a Reply to %s' ),
	'cancel_reply_link'    => __( 'Cancel reply' ),
	'label_submit'         => __( 'Post Comment' ),
);

如果需要修改表单,需要在function.php中使用过滤器comment_form_default_fields

删除表单字段

如果我们想要删除网址字段,只需要打开主题的 functions.php 文件,添加以下代码:

add_filter(‘comment_form_default_fields’, ‘mytheme_remove_url’);

function mytheme_remove_url($arg) {
$arg[‘url’] = ”;
return $arg;
}

保存后刷新页面,你就会看到“url”输入框已经不存在了。

新增表单字段

假设我们要添加一个 QQ 字段,同样在主题的 functions.php 添加下面的代码即可:

add_filter('comment_form_default_fields', 'my_fields');

function my_fields($fields) {
	$fields['qq'] = '

' . '<label for="qq">'.__('QQ').'</label> ' .
	'<input id="qq" name="qq" type="text" value="' . esc_attr( $commenter['comment_qq'] ) . '" size="30" />

';
	return $fields;
}

刷新页面,即可看到新增的表单。

替换默认表单字段

代码和上面的例子差不多,如果你设置的字段为(author、email、url)其中之一,即 $fields[‘author’]、$fields[’email’]、$fields[‘url’] ,就可以替换默认的字段的输出内容。

默认的这三个字段如下:

add_filter('comment_form_default_fields', 'mytheme_remove_url');

function my_fields($fields) {
	$fields =  array(
		'author' => '

' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
		'<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' />

',
		'email'  => '

<label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
		'<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' />

',
		'url'    => '

<label for="url">' . __( 'Website' ) . '</label>' .
		'<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" />

',
		);
}

需要注意的是,wordpress原生只支持author、email、url,如果新增或修改前台表单,还需要对评论审核后台、数据库等做对应改造。

参考:https://www.wpdaxue.com/wordpress-comment_form.html

解决git在Windows下的乱码问题

在命令行下输入以下命令:

git config --global core.quotepath false # 显示 status 编码
git config --global gui.encoding utf-8 # 图形界面编码
git config --global i18n.commit.encoding utf-8 # 提交信息编码
git config --global i18n.logoutputencoding utf-8 # 输出 log 编码
export LESSCHARSET=utf-8

最后一条命令是因为 git log 默认使用 less 分页,所以需要 bash 对 less 命令进行 utf-8 编码

以上命令等效于:

在 etc\gitconfig 中添加

[core]
quotepath = false
[gui]
encoding = utf-8
[i18n]
commitencoding = utf-8
logoutputencoding = utf-8

在etc\profile 中添加

export LESSCHARSET=utf-8

参考:解决git在Windows下的乱码问题

关于安装在阿里云上的wordpress MySQL进程总是被kill掉

查询mariadb.log,mariadb崩掉时的日志如下

170217 23:19:26 mysqld_safe Number of processes running now: 0
170217 23:19:26 mysqld_safe mysqld restarted
170217 23:19:37 [Note] /usr/libexec/mysqld (mysqld 5.5.52-MariaDB) starting as process xxx ...
170217 23:19:40 InnoDB: The InnoDB memory heap is disabled
170217 23:19:40 InnoDB: Mutexes and rw_locks use GCC atomic builtins
170217 23:19:40 InnoDB: Compressed tables use zlib 1.2.7
170217 23:19:40 InnoDB: Using Linux native AIO
170217 23:19:40 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(xxx bytes) failed; errno 12
170217 23:19:40 InnoDB: Completed initialization of buffer pool
170217 23:19:40 InnoDB: Fatal error: cannot allocate memory for the buffer pool
170217 23:19:40 [ERROR] Plugin 'InnoDB' init function returned error.
170217 23:19:40 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170217 23:19:41 [Note] Plugin 'FEEDBACK' is disabled.
170217 23:19:41 [ERROR] Unknown/unsupported storage engine: InnoDB
170217 23:19:41 [ERROR] Aborting

几经Google之后,找到两个解决方法:加内存和调低Innodb_buffer_pool_size

没钱加物理内存,就加swap吧:

1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。

dd if=/dev/zero of=/root/swapfile bs=1M count=1024

2.格式化为交换分区文件:

mkswap /root/swapfile #建立swap的文件系统

3.启用交换分区文件:

swapon /root/swapfile #启用swap文件

4.使系统开机时自启用,在文件/etc/fstab中添加一行:

/root/swapfile swap swap defaults 0 0

参考:

LINUX新建和增加SWAP分区:http://smilejay.com/2012/09/new-or-add-swap/

一些关于swap的指令:swapon、swapoff、free

调低Innodb_buffer_pool_size:

innodb_buffer_pool_size参数用来设置Innodb最主要的Buffer(Innodb_Buffer_Pool)的大小,也就是缓存用户表及索引数据的最主要缓存空间,对Innodb整体性能影响也最大。官方手册建议在整个系统 物理内存的50%~80%之间。

在cent os 7系统下,在/usr/share/mysql目录下可以查看到mariadb给出的一些my-xxx.cnf实例文件,按照自己的内存选择对应的文件,我选的是my-huge.cnf,在[mysqld]下查询到如下内容

# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 384M

将innodb_buffer_pool_size = 384M粘贴至/etc/my.cnf.d/server.cnf文件的对应位置即可,记得去掉#

参考:

MySQL Crash with Fatal error: cannot allocate memory for the buffer pool:http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool

其他参考:

Mysql日志报The InnoDB memory heap is disabled解决办法:http://blog.sina.com.cn/s/blog_a55699a601019t5d.html

简单粗暴解决,过程仅供参考。

chromebook修改host文件

参考:

Chromebook修改hosts简易教程:http://jieyujing.blogspot.com/2013/05/chromebookhosts.html

【吧主教程】chromebook hosts 替换教程 ~:http://tieba.baidu.com/p/4196419557?see_lz=1

host文件下载:https://laod.cn/hosts

CentOS 7 yum方式配置LAMP环境

1、安装Apache

yum install httpd
nano /etc/httpd/conf/httpd.conf

允许htacess重写:找到全部的AllowOverride none 修改为AllowOverride All

允许所有请求访问资源:把Require all denied 修改为Require all granted

systemctl start httpd.service //启动
systemctl enable httpd.service //设置开机启动
systemctl restart httpd.service //重启
systemctl status httpd.service //查看状态

另外,还需要配置一下防火墙,打开80和443端口

安装firewall

yum -y install firewalld firewall-config
systemctl start firewalld.service
systemctl enable firewalld.service

配置防火墙

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

2、安装PHP

yum install php php-fpm php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel -y
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl restart httpd
nano /var/www/html/test.php //测试

3、安装Mysql

yum install mariadb mariadb-server -y
systemctl start mariadb-server
systemctl enable mariadb-server
systemctl restart httpd
mysql_secure_installation //设置root密码等
mysql -uroot -p123456 //测试登录

4、安装phpMyAdmin

如果无法直接yum,需要先安装EPEL源

yum install epel-release
yum install phpmyadmin
nano /etc/httpd/conf.d/phpMyAdmin.conf

在<Directory /usr/share/phpMyAdmin/>中,把Require ip 127.0.0.1和Require ip ::1两个回环地址#掉,增加一句Require all granted

systemctl restart httpd

参考:

什么值得买逛丢等爆料网站 淘宝返利/淘点金链接自动转换 不靠谱的教程(雾)

填坑!

本教程主要针对想做类似什么值得买、逛丢、发现值得买等特价爆料导购网站的朋友。

我已经不知道该写什么标题了,如果你真看不懂后面的文,还是放弃做导购网站的想法吧。

继续阅读

各位重装机兵fans,2016年新年快乐!

提前几天向各位MMfans问新年好!

算起来,这已经是重装机兵资料站走过的第6个年头了,这一年承蒙大家的关照,网站流量翻了几番,新的一年也请大家多多支持资料站!

猎人雷灵

日常站务:

因为网站流量经常超出老服务器的负载,就在刚才资料站搬到了新的服务器上,之前经常发生的月末打不开网站的现象应该不会出现了。

QQ20151227161525 QQ20151227161507

Nexus 5 怎么刷 Android 6.0 棉花糖 刷机教程

最新的 Android M 系统已经发布了,手持五儿子的咱迫不及待地刷上了。过程很简单,先去 Google Developers 下载工厂镜像 https://developers.google.com/android/nexus/images,然后找个adb文件包(百度随便就能搜到)把镜像解压到里面,大概如图所示的样子,之后进 fastboot ,装上 N5 驱动(刷机精灵一键解决)运行 flash-all.bat 就可以了。

不过 Google 提供 flash-all.bat 一直有问题,咱还是拿之前刷 5.0 时的代码改了一下,代码如下:

PATH=%PATH%;"%SYSTEMROOT%\System32"
fastboot flash bootloader bootloader-hammerhead-hhz12k.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 &gt;nul
fastboot flash radio radio-hammerhead-m8974a-2.0.50.2.27.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 &gt;nul
fastboot flash recovery recovery.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 &gt;nul
fastboot flash boot boot.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 &gt;nul
fastboot flash system system.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 &gt;nul
fastboot flash cache cache.img

echo 刷机成功,按任意键重启手机...
pause &gt;nul
fastboot reboot
exit

把上面的代码复制到 flash-all.bat 就好了。 继续阅读