WordPress高级教程

baoyin

贡献于2010-11-01

字数:84650 关键词: WordPress 建站系统CMS 方案 手册 PHP

WORD PRESS W ordP ress 高级教程 (晋级版) 编著:夜阑小雨 网站: www.coagenpl.cn 2009 年 8 月 26 日 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 2 页/共 60 页------------------------------------------------- 目 录 精通 WORDPRESS 主题制作技巧 ..................................................................................................6 :................................................................................................6 : 显示博客的信息 (参数同 get_bloginfo) .......................6 :列表显示页面链接 .............................................................6 :特定内容页(Post)自动生成的 ID(无参数) ...................................6 :得到内容页(Post) URL(无参数) ........................................6 :显示或返回内容页(Post)标题 ......................................................6 :日志发表的日期 格式:月日年 ...................................7 :显示日志的作者(无参数) ..........................................................7 :日志的内容 ...............................7 '); ?>:日志的 tag 标签....................................................7 :当用户已登录并具有权限时,所显示的日志编辑链接 ...................................................................................................................................................7 :日志的评论情况 ................................................................................................7 :较早日志页面的链接 ..............................7 :较新日志页面的链 ..........................7 :按月显示内容存档 .............................................7 :显示 tag 标签.............................................................................8 :得到日志的信息 ...............................................................................8 :按照字符顺 序显示分类列表 ...................................................................................................................... 10 :显示友情链接 ................................................................................................................................................. 10 :显示深度到 3 的页 面链接..................................................................................................................................... 10 :调用 searchform 的文件生成搜索栏 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 3 页/共 60 页------------------------------------------------- ................................................................................................................................................. 10 :调用 WordPress 自带的日历...................................................... 10 WORDPRESS 基本模板文件......................................................................................................... 10 一套完整的 WordPress 模板应至少具有如下文件: ............................................................. 10 基本条件判断 Tag................................................................................................................... 11 Header 部分常用到的 PHP 函数............................................................................................. 11 模板常用的 PHP 函数及命令 ................................................................................................. 12 与模板相关的其他函数........................................................................................................... 12 WORDPRESS 函数技巧 ................................................................................................................ 13 Loop 循环(成功)................................................................................................................. 13 在 WordPress 的第一篇文章中插入 Google 广告(成功)..................................................... 13 改变每个分类页面的日志显示数. (成功).......................................................................... 14 给特定分类添加不同模板(成功)........................................................................................ 14 为特定分类文章创建不同外观 ............................................................................................... 14 样式化不同分类...................................................................................................................... 15 在某一个页面单独调用某一个 php 文件; ............................................................................ 15 动态标题以实现更友好的 SEO............................................................................................... 15 动态显示菜单:根据分类及页面类型显示相应条目: ......................................................... 15 动态显示高亮显菜单:........................................................................................................... 16 自定义顶部导航...................................................................................................................... 16 查询文章 ................................................................................................................................. 17 Query_posts(查询文章?)能被用来显示特定文章,你所需做只是你一个模板文件的 Loop 开始之前调用函数 .................................................................................................................. 17 query_posts() 函数的一些常见用法........................................................................................ 17 获取文章 ................................................................................................................................. 17 如何按分类和按月显示一个 Archvies 存档页面..................................................................... 18 页面模板头部声明 .................................................................................................................. 18 为不同的分类指定不同的图像 ............................................................................................... 18 如何添加幻灯片 BANNER 广告 .................................................................................................... 19 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 4 页/共 60 页------------------------------------------------- 5 个你不知道的 WORDPRESS 函数 ............................................................................................. 22 WORDPRESS 一些常用代码:..................................................................................................... 23 显示最新文章 .......................................................................................................................... 23 显示最新评论 .......................................................................................................................... 23 显示热评文章 .......................................................................................................................... 24 调用Gravatar(只适应2.5 以上) ........................................................................................... 24 调用前两篇日志,后续3篇日志列表 .................................................................................... 24 随机文章 ................................................................................................................................. 24 安全的调用Wordpress 插件模板代码 .................................................................................... 25 WORDPRESS 常用代码解释........................................................................................................ 25 1. 最新文章 ............................................................................................................................ 25 2. 随机文章 ............................................................................................................................ 25 3. 最新留言 ............................................................................................................................ 26 调用 TAB 页签菜单:.................................................................................................................... 27 添加head 头文件:判断后调用js 文件 ............................................................................... 27 添加css 代码到 样式文件内 ................................................................................................ 27 添加tab 代码到需要调用的地方 ............................................................................................ 28 保存js 代码到目录下 ............................................................................................................. 31 所有页面的归档:.......................................................................................................................... 32 WORDPRESS 主题中常用代码总结:.......................................................................................... 34 WORDPRESS 简单企业模板,企业网站完成................................................................................. 37 WORDPRESS 搭建企业网站......................................................................................................... 40 一.WordPress 搭建中小企业网站思路 ............................................................................................. 40 二.注意事项 ..................................................................................................................................... 46 创建漂亮的 WORDPRESS 日期按钮........................................................................................... 47 第一步:输入代码 ...................................................................................................................... 47 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 5 页/共 60 页------------------------------------------------- 第二步:建立背景图片 ............................................................................................................... 48 第三步:为其创建样式 ............................................................................................................... 48 创建动态的置顶文章 ...................................................................................................................... 48 查询 WORDPRESS 博客资料的 SQL 命令................................................................................... 50 给 WP 添加 CTRL+ENTER 回复快捷键 ...................................................................................... 51 WORDPRESS 的 10 个杀手级 HACK 技巧.................................................................................. 52 1.只在搜索引擎结果中显示 AdSense 广告.......................................................................... 52 2.避免在多循环中出现重复文章 ............................................................................................ 53 3.用页码代替 “上页”和“下页”.................................................................................................. 54 4.自动获取文章图像 ............................................................................................................... 55 5.创建“发送到 Twitter”按钮.................................................................................................... 55 6. 使用直引号,避免弯引号 .................................................................................................. 56 7. 如无 Referrer 请求则禁止发表评论 .................................................................................. 56 8.在 WordPess 导航条中使用 CSS 滑动门 .......................................................................... 57 9. WordPress 博客百变头图 .................................................................................................. 58 10.显示撰写计划 ..................................................................................................................... 58 侧边加入登陆界面: ...................................................................................................................... 59 获取单篇文章内的关键字及描述方法: ........................................................................................ 60 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 6 页/共 60 页------------------------------------------------- 精通 WordPress 主题制作技巧 : 将由 WordPress 函数自动生成的信息传回博客, 然后再在其他地方使用你的 PHP 代码 部分常用参数: default:默认 name:名称 description:说明 url、home、siteurl:网址 charset:网页的编码方式 stylesheet_url:css 文件地址 version:博客所使用的 WordPress 的的版本 : 显示博客的信息 (参数同 get_bloginfo) :列表显示页面链接 部分常用参数: post_title:按标题字母顺序排列(默认) post_date:按创建时间排序 post_modified:按最后修改时间排序 ID:按照 id 排序 post_author:按照作者 id 排序 :特定内容页(Post)自动生成的 ID(无参数) :得到内容页(Post) URL(无参数) :显示或返回内容页(Post)标题 用法: before:(字符串)标题前面的文字,默认情况下不显示, after:(字符串)标题前面的文字,默认情况下不显示 display:(布尔)当布尔值为真时,显示标题(默认),当布尔值为假时,得 到标题的值但不显示 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 7 页/共 60 页------------------------------------------------- :日志发表的日期 格式:月日年 :显示日志的作者(无参数) :日志的内容 用法: more_link_text:(字符串),当日志有 more 标记时,链接到日志页面 strip_teaser:(布尔),日志 “更多”链接的隐藏( true)或显示(false)(默认) '); ?>:日志的 tag 标签 用法 : before:(字符串)用在标签的前面,默认为 “tags:” separator:(字符串)分隔符,默认情况下不显示 after:(字符串)用在标签的后面,默认情况下不显示 :当用户已登录并具有权限时,所显示的日志编辑 链接 :日志的评论情况 :较早日志页面的链接 :较新日志页面的链 :按月显示内容存档 用法: )标签(默认) option:添加选择( 方法二:(万戈) 在 comments.php 中找到以下代码: 修改为: 总结:相比来说,第二种方法更简单,却实现了相同的效果。 需要注意的是:这里的id 一定要和js 里的id 值一样不然无法处理。 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 52 页/共 60 页------------------------------------------------- WordPress 的 10 个杀手级 Hack 技巧 2008 年对 WordPress 来说是非同寻常的一年,它的软件多次更新,最终促成重大版本 2.7 的发布, 许多网站因此也开始使用 WordPress 软件。一些用户在使用过程中对 WordPress 的代码等作了许多 改进,更多 WordPress 用户也因此受益。 这篇文章将向大家介绍 10 个最新最实用的 WordPress hack,它能让你的博客引擎开足马力,挣脱束 缚,最大限度地为你服务。此外,每个 hack 还都附有相关说明,这样你不仅能让 WordPress 释放最 大力量,还能知道如何操作。 1.只在搜索引擎结果中显示 AdSense 广告 问题:众所周知,一般访问并不点击广告。广告点击率 90%是来自搜索引擎的显示结果。另一个问 题是 Google 的智能计价。智能定价意味着 CTR 比较低,点击率单价大打折扣。例如,如果一次点 击正常获得 1 美元的话, Google 的智能计价只会是 0.1 美元。郁闷吧?但是,以下的代码改进就能 解决这个问题了。它只在搜索引擎结果中显示 AdSense 广告,这意味着你能得到更多的点击率,更 高的 CTR. 解决方案: 1. 打开主题中的 functions.php 文件。 2. 粘贴进下代码: function scratch99_fromasearchengine(){ $ref = $_SERVER['HTTP_REFERER']; $SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.'); foreach ($SE as $source) { if (strpos($ref,$source)!==false) return true; } return false; } 3. 把以下代码粘贴到 AdSense 广告显示位置的相应模板中。它只会在搜索引擎结果中显示: if (function_exists('scratch99_fromasearchengine')) { if (scratch99_fromasearchengine()) { INSERT YOUR CODE HERE } } W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 53 页/共 60 页------------------------------------------------- 代码说明:这个改进以 scratch99_fromasearchengine()函数开头,包括了用来指定搜索引擎的 $SE 数组变量。这样,只要把新元素加入到数组中就能轻松添加新的搜索引擎。如果使用搜索引擎搜索的 访客包含了 $SE 数组变量, scratch99_fromasearchengine()接着就会返回 true 值。 2.避免在多循环中出现重复文章 问题:由于“杂志型 ”主题的流行,现在很多 WordPressy 用户在他们的首页上都使用了多个循环,因 此他们也迫切需要在第二个循环上避免出现重复文章。 解决方案:使用 PHP 数组就能轻松解决这一问题 1. 创建一个 PHP 数组,并把第一个循环的所有文章 ID 放在其中

Loop n°1


ID; endwhile; ?> 2. 对于第二个循环:使用 PHP 函数 in_array()来检查$ids 数组中是否包含了某个文章 ID。如果 这个文章 ID 没有包含在此数组中,意味着第一个循环中没有此篇文章,那么系统就可以显 示它了。

Loop n°2

ID, $ids)) { the_title();?>
代码说明:执行第一个循环时,其中的所有文章 ID 都会被放到一个数组变量中。因此,第二个循环 执行时,我们只要到这个数组中检查当前的文章 ID 是否已显示在第一个循环中就可以了。 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 54 页/共 60 页------------------------------------------------- 3.用页码代替“上页”和“下页” 问题:WordPress 有默认函数来显示上页和下页页面,虽然这比没有这个什么功能好,但是我不明白 开发人员为什么不把页面写进核心代码呢。当然,我们可以用插件来生成页码,但是如果能把页码直 接插入主题岂不更好?! 解决方案:这里使用 WP-PageNavi 插件把页码直接写入主题 1. 首先下载 WP-PageNavi 插件 2. 在硬盘驱动上解压插件存档,并把 wp-pagenavi.php 和 wp-pagenavi.css 文件上传到主题 目录 3. 打开要放置页码的文件(如 index.php, categories.php, search.php,等),找到以下代码: 用以下代码代替以上内容: 4. 接着请修改插件文件。打开 wp-pagenavi.php 文件并找到以下代码( 61 行): function wp_pagenavi($before = '', $after = '') { global $wpdb, $wp_query; 修改成: function wp_pagenavi($before = '', $after = '') { global $wpdb, $wp_query; pagenavi_init(); //Calling the pagenavi_init() function 5. 最后,我们要把 wp-pagenavi 样式表添加到博客。 打开 header.php 文件,把以下代码添加进去: "type="text/css" media="screen"/> 代码说明:这个代码改进直接在主题文件中加入添加了插件代码。我们另外还调用了 pagenavi_init() 函数以使页码能够正常显示。 W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 55 页/共 60 页------------------------------------------------- 4.自动获取文章图像 问题:使用自定义字段来显示和日志相关的图像固然很好,但是许多用户想直接检索并使用文章本身 嵌入的图像。 解决方案: 至今为止,还没有这样的插件。值得庆幸的是,以下循环将帮我们解决这一问题:它会 搜索文章内容的图像并把它们显示出来 1. 把以下代码粘贴到主题文件任意位置: post_content; $szSearchPattern = '~]*\ />~'; // Run preg_match_all to grab all the images and save the results in $aPics preg_match_all( $szSearchPattern, $szPostContent, $aPics ); // Check to see if we have at least 1 image $iNumberOfPics = count($aPics[0]); if ( $iNumberOfPics > 0 ) { // Now here you would do whatever you need to do with the images // For this example the images are just displayed for ( $i=0; $i < $iNumberOfPics ; $i++ ) { echo $aPics[0][$i]; }; }; endwhile; endif;?> 代码说明: 以上代码实际上包含了一个 WordPress 循环。使用 PHP 和正则表达式的唯一区别就是前 者会自动搜索文章内容中的图像而不是仅仅显示文章。一旦发现图像,系统就会显示。 5.创建“发送到 Twitter”按钮 问题:你是 Twitter 用户吗?如果是,相信你一定了解和朋友在线分享有趣内容的乐趣。那么,为什 么不给你的读者也提供一个机会,让他们可以直接把你的文章 URL 发送到 Twitter 以给你带来更多流 量呢? 解决方案:这个代码改进非常简单。只要创建一个带有 status 参数的 Twitter 链接就可以了。而对于 WordPress,直接使用 the_permalink()函数就可获取文章 URL 了: W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 56 页/共 60 页------------------------------------------------- ShareonTwitter 非常简单,对吧?但它同时也非常实用! 6. 使用直引号,避免弯引号 问题:如果你经常在自己的网站上发布代码片段的话,可能会经常碰上这类问题:某用户会说你发布 的代码不起作用。这是为什么呢? WordPress 默认情况下会将直引号转为 “smart 引号, ”而后者会截 断代码片段。 解决方案:要避免出现这些弯引号,请按以下操作: 1. 打开主题中的 functions.php 文件。如果不存在该文件的话,请自行创建一个。 2. 粘贴进如下代码: 3. 保存文件。大功告成! 代码说明:wptexturize()函数会自动将直引号转为 smart 引号。而通过使用 remove_filter()函数,我 们会告知 WordPress 不要对日志内容使用 wptexturize()函数,问题自然得到解决。 7. 如无 Referrer 请求则禁止发表评论 问题:垃圾评论是让所有博主都头疼的问题。尽管 Akismet 能够帮你应付这些问题,但如果能化被动 为主动岂不是更好?以下给出的代码在 wp-comments-post.php 被访问时,会查找 referrer(即 URL 来源页面)。如果此时存在一个 referrer,且为你博客的 URL,那么就可以发表评论。反之,页面将 会停止载入,而评论也就无法发表了。 解决方案:要应用此 hack 的话,直接将以下代码粘贴到外观主题的 function.php 文件中即可。如果 外观主题不含此文件,请自行创建一个。 function check_referrer() { if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == “”) { wp_die( __('Please enable referrers in your browser, or, if you\'re a spammer, bugger off!') ); } } add_action('check_comment_flood', 'check_referrer'); W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 57 页/共 60 页------------------------------------------------- 8.在 WordPess 导航条中使用 CSS 滑动门 问题:虽然内置的 wp_list_pages()和 wp_list_categories()函数很有用,但它们不允许嵌入 元 素。这样一来,就只能使用目前最赞的 CSS 滑动门技术了。而且幸运的是,我们只要稍微借助一下 PHP 和正则表达式就能够在 WordPress 博客中使用超酷的滑动门技术了。 由于有关 CSS 滑动门的教程已经很多了,因此在这里我们就不对其工作方式再做任何说明。如果你 想对此技术进行更深入的了解,可以看看 这篇精品文章。想看看实际效果的话,请 点击这里。 1. 创建你所需的图片,并对 WordPress 外观主题中的 style.css 文件进行编辑。这里给出例子: #nav a, #nav a:visited { display:block; } #nav a:hover, #nav a:active { background:url(images/tab-right.jpg) no-repeat 100% 1px; float:left; } #nav a span { float:left; display:block; } #nav a:hover span { float:left; display:block; background: url(images/tab-left.jpg) no-repeat 0 1px; } 2. 现在让我们来编辑 header.php 文件吧。根据自身需要将如下代码复制粘贴进去即可: 列出页面: 代码说明:此例中,我们在 wp_list_pages()和 wp_list_categories()函数中使用了 echo=0 参量,它 允许你获取函数结果而无需将其直接打印在屏幕上。接着函数结果将用于 PHP preg_replace()函数, 并最终显示出来,此时
  • 标签之间已加入了 标签。 9. WordPress 博客百变头图 问题:确切地说这并不是什么问题,但有不少 WordPress 用户希望自己的博客头图能够丰富多变。 解决方案: 1. 当你相中了一些头图图片后,将它们命名为 1.jpg, 2.jpg, 3.jpg,诸如此类。当然,你可以使 用任意多的图片。 2. 将图片上传到 wp-content/themes/yourtheme/images 目录下。 3. 打开 header.php 文件,并将如下代码粘入: $num = rand(1,10); //Get a random number between 1 and 10, assuming 10 is the total number of header images you have <div id="header" style="background:transparent url(images/.jpg) no-repeat top left;"> 4. 完成!现在博客各页面或日 志页面将会显示随机的头图了。 代码说明:这里没什么好说的。我们直接使用 PHP rand()函数初始化一个 $num 变量来随机获取 1 到 10 之间的数字。接着我们将 $num 变量的结果连上当前外观主题的路径就 OK 了。 10.显示撰写计划 问题:许多博主都希望自己拥有更多的读者,有更多的 RSS feed。而把文章撰写计划罗列出来显然 能提高访客的好奇心和兴趣。 解决方案:打开任意一个主题文件并粘贴进以下代码: have_posts()){ while($my_query->have_posts()):$my_query->the_post();?>
  • W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 59 页/共 60 页------------------------------------------------- 代码说明:在这个代码改进中,我们使用 WP_Query 类创建了自定义语句以发送数据库查询并提取 最近将要撰写的五篇文章。完成后,系统就会使用一个简洁的 WordPress 循环来显示文章标题。 侧边加入登陆界面:
  • 控制面板

    登录

    W ordP ress 高级教程 草根评论:www .caogenpl.cn ------------------------------------------------第 60 页/共 60 页------------------------------------------------- 获取单篇文章内的关键字及描述方法: ID); foreach ($tags as $tag ) { $keywords = $keywords . $tag->name . ","; } if (have_posts()) : while (have_posts()) : the_post(); if(strlen($text) > 150) { $text = substr($text,0,150); $text= mb_convert_encoding($text,"UTF-8"); $text=preg_replace("/(\s+)/","",$text); } } if ($post->post_excerpt){ $text = mb_substr(strip_tags($post->post_excerpt),0,150); } else { $text = mb_substr(strip_tags($post->post_content),0,150); }?>
  • 下载文档,方便阅读与编辑

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 20 金币 [ 分享文档获得金币 ] 3 人已下载

    下载文档

    相关文档