0

LNMP服务器配置WordPress站点

Posted by Alan on November 7, 2015 in Linux |

一键安装包LNMP环境搭建 一直以来都是使用LAMP服务器环境,但Nginx早就盛名在外了,所以这次有一个搭建新站的任务就决定尝试一下LNMP环境的搭建。本文中将暂不采用分别安装独立安装包的,而使用网上的一个一键安装包来完成,参考教程地址:http://lnmp.org/install.html 首先执行screen -S lnmp创建screen会话,出现如下提示 -bash: screen: command not found 于是安装screen:yum install screen -y,重新执行上述命令,然后获取一键安装包,同时解压并执行安装文件(安装文件百度网盘链接: http://pan.baidu.com/s/1o6latlg 密码: d259) 接着就开始设置MySQL的root账号密码 确定是否需要开启InnoDB存储引擎 确定需安装的MySQLa或MariaDB的版本 确定所需安装的PHP版本 选择是否安装内存优化 配置完成按任意键开始安装 安装成功后访问服务器ip地址后就会出现在/usr/local/nginx/conf/nginx.conf已配置的/home/wwwroot/default/index.html文件 配置多站点 一键安装包已经自动在配置文件/usr/local/nginx/conf/nginx.conf中加入了include vhost/*.conf,因而可以在/usr/local/nginx/conf/vhost/文件夹下添加example.com.conf进行站点的配置。配置内容参考: 直接安装Nginx 首先使用yum install nginx -y来进行nginx的安装 然后安装PHP, MySQL及常用的扩展 设置开机启动Nginx, MySQL和php-fpm chkconfig nginx on chkconfig mysqld on chkconfig php-fpm on 执行service mysqld start启动MySQL服务,然后输入mysql_secure_installation设置数据库root密码并删除测试库数据。 执行service nginx start启动http服务,然后在浏览器中输入服务器ip,就会出现如下默认页面 可以看出Nginx主配置文件在/etc/nginx/nginx.conf中,可以在该文件中发现include /etc/nginx/conf.d/*.conf,所以配置多站点的方法与上面相似,只需在/etc/nginx/conf.d/文件夹下创建一个conf文件即可。 我们刚刚访问的页面就是default.conf中配置的/usr/share/nginx/html下的index.html文件 安装Wordpress […]

Tags: , , ,

0

WordPress中如何按照分类调取不同模板

Posted by Alan on November 1, 2015 in Wordpress |

默认的分类模板文件为category.php,但通常在开发中的需求不会这么简单 分类页面按按分类调取不同模板 如果想要不同分类调取不同分类的话,可以使用category加中间杠后接需使用该模板的分类Id号或别名(slug)来进行命名,如category-2.php或category-wordpress.php 也可以通过在category.php中通过判断id号来调用不同模板,比如 上述方法可以还满足多个分类调用同一模板的需求,还有一种类似的方法,通过获取slug来调取对应的模板,如若模板不存在则调用默认的模板 以上代码可以精简为,因为在category-$slug.php不存在时,会自动调用该目录下的category.php 文章页面按所属分类调取模板 很多时候我们需要分类下的文章页面根据不同分类使用不同的模板,类似地,我们可以通过in_category()函数来判断文章所属分类来调用不同模板,该函数中可以传入分类id,也可以使用分类别名(slug) 另外一种方法是根据所属分类别名来创建模板,如content-wordpress.php,不存在的直接调用content.php。不过这个方法存在一个问题,就是当文章属于多个分类时,需从数组中选择一个分类。 独立页面调用不同模板 独立页面默认调用index.php作为模板,可通过新建page.php来作为独立页面模板。如果要单独为某一独立页面设置模板的话,可以在模板根目录中创建page-id.php,其中的id为该独立页面的id号。同样地,也可以采用页面别名page-slug.php的方式。  

Tags: ,

0

WordPress中多语言的实现方法

Posted by Alan on October 31, 2015 in Wordpress |

WordPress中有诸如qTranslate-X等插件可实现文章标题和内容的多语言,不过本文主要讲解模板开发中所涉及到的提示文本等的多语言实现。 首先需要在主题目录下创建一个languages文件夹,用于存放语言包文件。然后在模板目录下的functions.php,然后在代码中添加函数加载该文件夹,示例代码如下: 完成以上准备工作后就需要用到Poedit软件了 打开Poedit软件,如果已有语言包可在界面点击编辑翻译,否则点击文件>新建来创建您自己的语言包,然后在弹出窗口中选择要翻译的语言,本例中将英文翻译为中文,所以选择简体中文 然后点击工具栏中的保存按钮,保存到相应主题的languages目录中,名称为zh_CN.po,然后点击从源代码中提取,在弹出的编目属性窗口中设置源路径和源关键字,源路径采用主题根目录,源关键字这里使用Wordpress中默认的_e和__(前者直接输出,后者调取值),点击确定软件会自动解析所选目录下符合格式的文本(在代码中体现为_e(‘Category’,’alanhou’)或__(‘Author’,’alanhou’)),然后逐一翻译即可  

Tags: , ,

0

WordPress主题开发系列之自建模板

Posted by Alan on October 28, 2015 in Wordpress |

WordPress的默认集成有twentyfifteen之类的模板,位置在wp-content/themes下。如果想要安装或者开发主题,都需要在这个目录下来完成。 本例将在wp-content/themes目录下创建一个名为alanhou的文件夹,自开发的模板要求至少有index.php和style.css这两个文件。通常在style.css最上方会有一大段注释,用于在设置主题名称、版本等相关信息。细心的你一定还会发现在后台查看主题时还会有一张图片,这张图片来自主题文件夹下的screeshot.png, 建议大小为880*660px(或相似比例的图片)。 完成上述操作后在后台的效果如下 首先我们先在index.php中加入代码,调用主题CSS,并输出博客的标题和描述,主要用到了bloginfo(), get_option(), wp_header()和wp_footer()方法示例代码如下: 通过简单的css控制后就得到如下这样的头部 循环输出文章内容 侧边栏和翻页 调出翻页功能只需使用posts_nav_link()即可,而侧边栏使用get_sidebar(),如 通常需首先在functions.php中注册小工具(可同时注册多个小工具),这样才会在后台外观菜单下出现小工具从而进行拖放编辑,例如: 在主题根目录下创建sidebar.php,使用dynamic_sidebar()调出后台小工具中设置的内容(该函数中可传入register_sidebar中的name值) 但有时为防止小工具中未加入内容或者只是为了提高一些灵活性,也可以在side.php中自行加入相应模块,只需通过is_dynamic_sidebar()进行判断,然后输出相应模块即可。比如: 常用的封装文件 如同侧边栏一样,头部和底部通常也是相同的,所以较为推荐的做法是在主题目录下创建header.php和footer.php,然后使用get_header()和get_footer()函数来进行调用。 分类页模板: category.php 如果想要不同分类调取不同分类的话,可以使用category加中间杠后接需使用该模板的分类Id号或别名(slug)来进行命名,如category-2.php或category-wordpress.php 也可以通过在category.php中通过判断id号来调用不同模板,比如 还有一种类似的方法   文章页模板 single.php 除了前面介绍的方法外还可以通过previous_post_link()和next_post_link()来输出上一篇和下一篇文章标题链接,同是还可以自定义文本,如previous_post_link(‘上一篇:%link’) 文章页面后台编辑页面中可以添加自定义栏目,名称和值将存放在wp_postmeta表中,可通过get_post_meta()来获取,如 get_post_meta($post->ID, ‘test’, true),其中true返回字符串,false返回数组 独立页面模板 独立页面默认调用index.php作为模板,可通过新建page.php来作为独立页面模板。如果要单独为某一独立页面设置模板的话,可以在模板根目录中创建page-id.php,其中的id为该独立页面的id号。同样地,也可以采用页面别名page-slug.php的方式。 评论文件 评论文件为根目录下的comments.php,然后在相应位置中通过comments_template()进行调用,与评论相关的数据表为wp_comments, wp_commentmeta。 可以通过comments_open()方法判断是否开启了评论功能,对于文章页面可以通过讨论栏止开启或关闭评论(如未找到请点击右上角显示选项进行勾选显示), 对于有密码保护的页面可使用post_password_required()函数进行判断 comment_registration通过后台设置>讨论下的用户必须注册并登录才可以发表评论开启 搜索页面 和其它页面一样,如果没有search.php文件,搜索页将会调用index.php作为模板,所以请创建search.php文件作为搜索页面 404页面 和其它页面一样,如果没有404.php文件,404页面将会调用index.php作为模板,所以请创建404.php文件作为404页面

Tags: ,

0

WordPress SEO Ultimate插件去广告

Posted by Alan on October 27, 2015 in Wordpress |

很多使用Wordpress的朋友都会使用SEO Ultimate这个插件,它涉及到SEO的方方面面,比如可以通过它设置文章的title和description,同时对于没有编程基础的朋友通过Code Inserter来在header和footer中插入一些统计代码之类的JS也相当便捷,还可以在不调取服务器日志的情况下查看有哪些蜘蛛或个人访问过的404页面等等。 但是Alan经常在笔记本电脑上查看这个404页面报表时会发现右边的广告遮挡导致没有办法展开查看User Agent信息,很明显广告下方提到想要去除广告升级到SEO Ultimate+就好了,自然这是需要付银子的。于是对于这小小的不便Alan查看了一下代码,发现还是比较容易解决的。 具体解决方法(以最新版7.6.5.8为例),打开wp-content/plugins/seo-ultimate/modules/class.su-module.php将3062行以下的相关代码进行注释即可,注释后的代码如下:

Tags: ,

0

WordPress主题模板开发系列之数据库

Posted by Alan on October 19, 2015 in Wordpress |

数据库表前缀在安装时指定,记录在根目录下的wp-config.php的$table_prefix变量中,默认值为wp_,共11张表: 文章评论信息表 wp_commentmeta(文章评论额外信息表) wp_comments(文章评论信息表) 链接信息表 wp_links 基本配置信息表(对应后台设置>常规中的配置) wp_options 文章信息表 wp_postmeta(文章额外数据表,文章的自定义字段等所存储的表格) wp_posts 分类信息表 wp_terms(分类、标签的基础信息表) wp_term_relationships(分类与文章、链接、菜单的关联表) wp_term_taxonomy(分类补充信息表,区分terms信息的分类类型,有category, link, tag, nav_menu四种分类类型) 用户信息表 wp_usermeta(用户额外信息表) wp_users(用户基本信息表,存放系统所有用户基本信息)

Tags: , , ,

0

WordPress主题模板开发系列之核心文件

Posted by Alan on October 19, 2015 in Wordpress |

WordPress之强大不仅在于创建博客上,它还可用于搭建论坛、官网乃至电商网站。Alan使用Wordpress也有一些年头了,但一直都没有深入研究过,最近出于工作需要,决定学习Wordpress开发相关的知识,于是便有了这个Wordpress主题模板开发系列,边学习边总结。 第一步决定先从安装完成后的官方文件结构开始,打开Wordpress根目录,会看到如下文件或目录: 下面我就来逐个分析主要的文件或目录的作用 index.php – WordPress入口文件,调用wp-blog-header.php license.txt – WordPress授权许可文件 readme.html – WordPress安装、升级和在线资源等说明文件 wp-activate.php – 用户注册激活文件 wp-blog-header.php – 用于加载Wordpress的环境和模板,调用wp-load.php和 wp-includes/template-loader.php wp-comments-post.php – 接收评论并添加到数据库 wp-config.php – MySQL数据库连接信息的配置文件,安装后自动生成 wp-config-sample.php – wp-config.php的示例文件 wp-cron.php – 用于执行定时任务的文件 wp-links-opml.php – 生成OPML格式的友情链接列表(WordPress 3.5以后需安装Link Manager插件来添加友情链接) wp-load.php – 加载wp-config.php、设置路径常量、加载Wordpress类库 wp-login.php – 处理用户注册、登录、密码重置等的页面代码 wp-mail.php – 通过接收邮件发布文章 wp-settings.php – 运行前的例行程序,包括检查安装是否正确、使用辅助函数、应用用户插件、初始化执行计时器等等 wp-signup.php – 定义注册新用户账号、新分站的页面 wp-trackback.php – 处理Trackback请求 xmlrpc.php – 远程发布功能 […]

Tags: , ,

0

Worpress常用函数

Posted by Alan on October 15, 2015 in Wordpress |

为方便Wordpress的二次开发的常见修改,将在本帖中整理一些经常使用的Wordpress函数,以便查找。 主要文件和目录 index.php    首页 header.php    头部 footer.php    底部 sidebar.php    侧边栏 category.php    目录页 single.php   文章页 functions.php    主题自定义函数 style.css    主css文件 Action和Filter相关 add_action(‘alan’, ‘functionA’)    将函数functionA挂载到动作alan上,还有优先级等可选参数 do_action(‘alan’)    执行挂载在动作alan上的所有函数 WordPress内置的Action请参阅:http://codex.wordpress.org/Action_Reference add_filter(‘alan’, ‘functionA’)   将函数functionA挂载到过滤器alan上,还有优先级等可选参数 apply_filters(‘alan’, $arg)    将$arg传入挂载在动作alan上的所有函数并执行 WordPress内置的Filter请参阅:http://codex.wordpress.org/Plugin_API/Filter_Reference 首页分类相关 bloginfo()    获取博客相关信息 get_header() get_sidebar()    调用默认侧边栏的内容或sidebar.php的内容 register_sidebar()    用于在functions.php中注册小工具,在后台外观>小工具中进行编辑,并通过dynamic_sidebar()函数调用 get_footer() […]

Tags: ,

0

博客被入侵实录

Posted by Alan on May 9, 2015 in 电商经验 |

网络上现在黑客行为无处不在,大公司也鲜有幸免者,频频被脱裤。前段时间Magento曝出高危漏洞,还有Wordpress的插件WordPress SEO by Yoast曝出存在SQL注入漏洞,今天看到Wordpress的默认主题竟然也存在着跨站脚本漏洞: http:// site.com/wp-content/themes/twentyfifteen/genericons/example.html#1<img/ src=1 onerror= alert(1)> 于是前几天Alan的一个英文Wordpress站点也被攻击了,这个博客将近半年多没有打理,想必是未及时升级被人利用了之前的漏洞进行攻击。其实人在江湖谁能不挨刀呢,最让我无语的是这个黑客竟然上传了近两万个文件(html+js),差不多有两个G,这个站点布置在一个低配置的GoDaddy主机上,于是删文件花了我两个多小时。看来现在黑客也不好混呀,抓住一个就疯狂的掠夺。 文件都是一些Nike之类的仿牌,本人也不屑于去投诉什么的,做仿牌的也是苦海无涯啊,做大了就更麻烦了。 话说这个攻击就是利用漏洞在根目录添加了一个license.php文件,其实也就是用于处理上传文件的一个php脚本,代码如下文。 另外Google的灵敏度还是挺赞的,今天就收到了一封标题为[Webmaster Tools] Hacking suspected:http://www.domain.com的邮件,估计这种黑帽SEO手段在国外早就没什么效果了吧。

Tags: , , ,

0

WordPress模板集合

Posted by Alan on November 22, 2014 in 模板专区 |

Alterna – Ultra Multi-Purpose WordPress Theme Alterna is an retina-ready, fully responsive Multi-Purpose WordPress Theme.Alterna gives you an awesome premium theme to create your website for any type of website; business, corporate, portfolio, blog, products, magazine, shop etc…Alterna also Integrate WooCommerce, WPML, Facebook Page etc… Alterna includes Drag & Drop Visual Composer Page Builder value […]

Tags: , , , , , ,

Copyright © 2012-2018 记录点滴生活 | Alan Hou的个人博客 All rights reserved.