与WordPress打交道,经常遇到的一个问题就是获取路径,包括URL路径和服务器路径,在主题或插件中引用js或css文件需要URL地址,而include一些文件时则需要服务器路径。在WordPress中,不能认定wp-content目录一定位于/wp-content下,也不能认为admin的地址一定是/wp-admin,为了避免错误,了解WordPress中与获取路径相关的函数很重要。
继续阅读WordPress路径相关函数总结分类: WP笔记
Sola主要做WordPress相关的项目,过程中会遇到许多问题,喜欢随手记录以下,这个笔记也是我的WP成长笔记。
不用插件如何更改WordPress Page的固定链接格式
WordPress的post、tag、category固定链接都可以在后台更改,唯独page不可以,page的默认SEO URL格式就是/%pagename%,结尾是否有反斜杠取决于设置的固定连接格式结尾是否有反斜杠。今天在WP Force看到修改page固定连接的方式,很激动,赶快记录下来。
继续阅读不用插件如何更改WordPress Page的固定链接格式wp_redirect引发Cannot modify header information – headers already sent by错误的解决方案
Cannot modify header information – headers already sent by
这个错误在WordPress中并不陌生,不管是主题还是插件都有可能引起这个错误。如果服务器已经开始传送HTML页面,这时候重定向就会引发这个报错。解决方式一是检查重定向代码的位置,在传送HTML页面之前进行。解决方式二就是让服务器放水,知道有这个错误也不要报告。
继续阅读wp_redirect引发Cannot modify header information – headers already sent by错误的解决方案根据YouTube地址获取YouTube Embed代码
YouTube的embed代码有两种,一种是iframe的,一种是object的,无论哪种,相对于YouTube视频地址来说,都比较长,如果允许用户直接输入视频地址就可以播放视频,最好不过。自己写的程序中需要通过获取YouTube视频ID获取YouTube Embed代码,WordPress则内置了视频地址和embed代码转换的功能——oembed。
继续阅读根据YouTube地址获取YouTube Embed代码如何在用户提交评论后将用户定向到自定义地址
WordPress的评论提交过程由根目录下的wp-comments-post.php控制,要想对评论提交过程做点啥,就要研究这个文件。比如,今天要介绍的在用户提交评论后将用户定向到自定义地址,就要读一读wp-comments-post.php。
继续阅读如何在用户提交评论后将用户定向到自定义地址admin_print_scripts-(page_hook) 的用法
admin_print_scripts是用来向WordPress后台引入js脚本文件的,这个action会在所有页面引入脚本,除非你在action调用的函数的内部做判断。要想实现只在某个页面引入特定脚本,可以借助它的另一种形式admin_print_scripts-(page_hook)。这在写主题的Theme Options或者插件的Options页面非常有用,我们希望脚本只在使用的时候加载,这样还可以避免插件冲突。
继续阅读admin_print_scripts-(page_hook) 的用法WordPress Form Helpers
如果你需要频繁的写radio、checkbox、select等表单元素,经常要干的事就是判断checkbox是否被check,select里那一项应该是当前选中的,甚至input元素是否应处于disable状态。WordPress提供了三个Form Helpers函数,可以为你节省一点时间。
继续阅读WordPress Form Helpers一款超好用的创建Meta Box的脚本/插件
发现了一款超级好用的创建Meta Box的脚本,也可以说是一款插件,因为作者将脚本升级为插件,便于维护和升级。该脚本采用面向对象的方法编写,可以很好的避免函数名称冲突,功能强大,可以轻松创建所有表单输入元素,还包括date picker、color picker等,让你的Meta Box不输给主题的theme options。
继续阅读一款超好用的创建Meta Box的脚本/插件通过插件注册Custom Post Type,如何在插件启用时更新固定链接
Custom Post Type在启用rewrite的情况下,为了让rewrite rule生效,需要更新固定链接(flush rewrite rules),有两种方法可以实现:第一,到后台->设置->固定链接界面重新保存一下固定链接;第二,执行flush_rewrite_rules()函数更新固定链接。本文介绍通过插件注册Custom Post Type时,如何在启用插件时将需要的rewrite rule自动加入,以及在禁用插件式自动删除该rewrite rule。
继续阅读通过插件注册Custom Post Type,如何在插件启用时更新固定链接WordPress:如何判断登录用户的角色
过去判断登录用户的角色我喜欢用current_user_can(),比如判断当前用户是否是作者用current_user_can('author'),记得WordPress官方文档中给的例子也是这样用,不过今天看了一下文档,貌似用法变了,传递角色作为参数不再可靠,正确的用法是传递$capability,那么该如何判断用户角色呢?
WordPress内置的便捷函数
使用WordPress Filters时,最常见的操作就是返回true或者false,通常我们要创建一个函数添加到某个filter中,在函数中最终返回true或false,如果除了返回值以外没有其它操作,可以借助WordPress内置的便捷函数进行。
WordPress:隐藏所有更新通知
WordPress的更新通知包括wp核心、插件和主题,如果你安装了低版本的WordPress做测试用,或者同时安装多个版本的WordPress,肯定不希望这些通知不厌其烦的出现,可以将其完全禁用。
继续阅读WordPress:隐藏所有更新通知如何隐藏WordPress后台的显示选项和帮助选项卡
WordPress后台屏幕右上角有两个小工具:显示选项(Screen Options)和帮助(Help),作为定制化Dashboard的一部分,某些时候需要将这两个小东西隐藏,隐藏的方法如下。
隐藏显示选项
继续阅读如何隐藏WordPress后台的显示选项和帮助选项卡创建你的专属私人博客
想拥有一个属于自己和亲朋好友的专属私人博客吗,Password Protect Wordpress插件可以帮你实现愿望,该插件会密码保护所有的WordPress页面,用户输入密码后可以在1天(可设置)时间内随意访问你的博客,过期后就需要重新登录。
继续阅读创建你的专属私人博客WordPress Tip:获取主题信息
WordPress的主题信息存在于style.css中,如果主题信息在整个主题中需要扮演一定的较色,可以通过WordPress的get_theme_data()函数或者wp_get_theme()获取,wp_get_theme()是WordPress 3.4版产生的替代get_theme_data()的函数。
继续阅读WordPress Tip:获取主题信息为custom post type指定默认的分类目录和标签
创建custom post type后,不想每次都手动输入标签和指定目录,这里有一段代码可以让你为custom post type指定默认的分类目录和标签,这样每次只需要点击保存即可,当然,这需要你的custom post type支持category和tag。
继续阅读为custom post type指定默认的分类目录和标签