关于WordPress中Yoast SEO的Titles & Metas所用变量的说明

Yoast SEO是WordPress中一款强大的用于SEO优化的插件,在它的Titles & Metas设置中我们可以使用许多预定义的变量(以前后两个%定义)来替换标题和元标签上的数据,以下列出相关变量的说明,以供参考:

%%date%%(文章/页面的日期)
%%title%%(文章/页面的标题)
%%parent_title%%(父页面的标题)
%%sitename%%(站点名称)
%%sitedesc%%(站点描述)
%%excerpt%%(文章/页面的摘要,不存在时使用自动生成的摘要)
%%excerpt_only%%(文章/页面的摘要,不包括自动生成的摘要)
%%tag%%(标签)
%%category%%(分类目录,多个之间采用逗号分隔)
%%category_description%%(分类目录描述)
%%tag_description%%(标签描述)
%%term_description%%(分类描述)
%%term_title%%(分类标题)
%%searchphrase%%(搜索短语)
%%sep%%(标题所用的分隔符)

%%pt_single%%(文章类型,单个)
%%pt_plural%%(文章类型,多个)
%%modified%%(文章/页面的修改时间)
%%id%%(文章/页面的ID)
%%name%%(文章/页面的作者昵称)
%%user_description%%(文章/页面的作者个人说明)
%%userid%%(文章/页面的作者ID)
%%currenttime%%(当前时间)
%%currentdate%%(当前日期)
%%currentday%%(当前日)
%%currentmonth%%(当前月)
%%currentyear%%(当前年)
%%page%%(分页信息,如page 2 of 4)
%%pagetotal%%(总页数)
%%pagenumber%%(当前页码)
%%caption%%(附件标题)
%%focuskw%%(文章焦点关键字)
%%term404%%(404描述)
%%cf_<custom-field-name>%%(文章自定义字段值)
%%ct_<custom-tax-name>%%(文章自定义分类,逗号分隔)
%%ct_desc_<custom-tax-name>%%(自定义分类描述)

关于WordPress中去除Jetpack的Open Graph元标签的说明

在WordPress中如果使用了Jetpack的Sharing或者Publicize功能的话,Jetpack会自动地在网站页面上添加Open Graph的元标签。这些标签的作用是让Facebook能够获取页面的信息从而进行分享。但是对于国内而言,由于无法访问Facebook,该功能就失去了作用,那如何才能去掉这些无用的Open Graph元标签呢?

如果有其他WordPress插件处理了Open Graph元标签,那么Jetpack将自动禁用掉自身的Open Graph元标签。

我们可以在所用主题的functions.php文件中或者在所用的其他WordPress插件中添加以下代码来去除Jetpack的Open Graph元标签:

add_filter ( 'jetpack_enable_open_graph', '__return_false' );

更多信息请参阅:Open Graph — Jetpack for WordPress

关于WordPress中代码高亮插件SyntaxHighlighter所支持语言的说明

SyntaxHighlighter是应用在WordPress中的代码高亮插件,当我们在WordPress中编写文章时,使用它可以让我们安全地在文章中插入程序代码,并可以使代码高亮格式化显示,以下列出该插件所支持的代码类型:

actionscript3
bash
clojure
coldfusion
cpp
csharp
css
delphi
erlang
fsharp
diff
groovy
htmlscript
javascript
java
javafx
matlab(只支持关键字)
objc
perl
php
text(默认)
powershell
python
r
ruby
scala
sql
vb
xml

更多信息请参阅:Posting Source Code — Support — WordPress.com

关于WordPress中Actions执行顺序的说明

在写WordPress代码时需要不停地与hooks(actions and filters)打交道,filter是过滤器,顺序问题不是那么重要,而action是一种行为动作,明确其执行顺序就显得尤为重要。通过了解actions的执行顺序,可以知晓在这个action执行时,是否已经具备了某些资源,例如登陆用户信息、插件API等。下面列出了一些相对来说比较重要的actions执行顺序,以供参考:

muplugins_loaded(最先加载的action)
registered_taxonomy
registered_post_type
plugins_loaded(加载所有激活的插件文件,这是插件代码被执行的位置)
sanitize_comment_cookies
setup_theme(载入当前主题的functions.php,functions.php中没有用add_filter或add_action添加的函数在这里被执行)
after_setup_theme
auth_cookie_malformed
auth_cookie_valid
set_current_user(执行了wp_set_current_user()函数,产生全局变量$current_user)
init
widgets_init
register_sidebar
wp_register_sidebar_widget
wp_default_scripts
wp_default_styles
admin_bar_init
add_admin_bar_menus
wp_loaded
parse_request
send_headers
parse_query
pre_get_posts
posts_selection
wp
template_redirect(加载激活的主题模板,例如index.php、page.php等)
get_header
wp_head
wp_enqueue_scripts
wp_print_styles
wp_print_scripts
wp_print_scripts
get_footer
wp_footer
shutdown

关于WordPress中函数add_filter的说明

函数add_filter(添加过滤器)的作用是将自定义函数function挂钩到指定的filter(过滤器)中。
过滤器是WordPress发布的一种hook,在不同类别的文本被添加到数据库或发送到浏览器窗口前可以对其进行修改。在修改特定类型的文本时,插件可用API规定的过滤器执行一个或者多个function函数。

一、函数定义:

/**
 * $tag:要挂钩的filter名称
 * $function_to_add:要挂钩的函数名称
 * $priority:挂钩函数的执行顺序
 * $accepted_args:挂钩函数所接受的参数数量
 * return:$function_to_add成功添加到$tag过滤器时返回true,否则返回false。
 */
add_filter ( $tag, $function_to_add, $priority, $accepted_args );

二、参数说明:
$tag:字符串,必填,$function_to_add所挂钩filter的名称。默认值:None

$function_to_add:函数,必填,希望挂钩的函数名称。默认值:None

$priority:整数,可选,用于指定与特定的过滤器相关联的函数的执行顺序。数字越小,执行越早,具有相同优先级的函数按照它们被添加到过滤器的顺序执行。默认值:10

$accepted_args:整数,可选,挂钩函数所接受的参数数量。在WordPress-1.5.1及以后的版本中,可以是调用apply_filters时设置的参数。默认值:1

三、调用示例:

/**
 * 定义要挂钩的函数
 */
function function_to_add($content) {
	return $content . '...';
}

// 将挂钩函数function_to_add添加到the_content过滤器中,并设定执行顺序为99
add_filter ( 'the_content', 'function_to_add', 99 );

以上示例将在文章内容结尾输出字符串“…”。

更多信息请参阅:Function Reference/add filter « WordPress Codex

关于WordPress中函数add_action的说明

函数add_action(添加动作)的作用是将自定义函数function挂钩到指定的action(动作)中。
函数始见于WordPress-1.2.0,位于wp-includes/plugin.php文件中,WordPress的核心框架调用do_action时将触发该动作。

一、函数定义:

/**
 * $tag:要挂钩的action名称
 * $function_to_add:要挂钩的函数名称
 * $priority:挂钩函数的执行顺序
 * $accepted_args:挂钩函数所接受的参数数量
 * return:总是返回true
 */
add_action ( $tag, $function_to_add, $priority, $accepted_args );

二、参数说明:
$tag:字符串,必填,$function_to_add所挂钩action的名称。也可以是一个主题或插件文件内部的一个动作,或者特定的标签“all”(被所有的钩子(hooks)调用)。默认值:None

$function_to_add:函数,必填,希望挂钩的函数名称。默认值:None

$priority:整数,可选,用于指定与特定的动作相关联的函数的执行顺序。数字越小,执行越早,具有相同优先级的函数按照它们被添加到动作的顺序执行。默认值:10

$accepted_args:整数,可选,挂钩函数所接受的参数数量。在WordPress-1.5.1及以后的版本中,可以是调用do_action时设置的参数。默认值:1

三、调用示例:

/**
 * 定义要挂钩的函数
 */
function function_to_add() {
	echo 'function_to_add';
}

// 将挂钩函数function_to_add添加到wp_footer动作中,并设定执行顺序为99
add_action ( 'wp_footer', 'function_to_add', 99 );

以上示例将在页面footer区域输出对应文本。

更多信息请参阅:Function Reference/add action « WordPress Codex

关于WordPress媒体库中去除“背景图像”字样的说明

今天在用WordPress修改主题背景图像时,不小心选错了图片,但是在修正后进入媒体库查看图片信息时,发现之前选错的图片名称上会一直显示“背景图像”的字样:
wordpress-bgimg-word-1

究其原因是WordPress会将我们每次选择的背景图像进行标记,从而提示我们哪些图片是曾经或者现在被当作背景图像使用的。
那如何才能去除被错误选择的背景图像标记信息呢?我们可以在WordPress的数据库中进行以下操作来完成(注意操作前请先备份数据库):

一、查找图片的post_id:

select id from wp_posts where post_title = '[图片名称]' and post_type = 'attachment';

二、查找图片元数据中标记为背景图像的meta_id:

select meta_id from wp_postmeta where post_id = [图片post_id] and meta_key = '_wp_attachment_is_custom_background';

三、删除找到的背景图像元数据:

delete from wp_postmeta where meta_id = [背景图像meta_id];

完成后刷新媒体库就可以看到图片上的“背景图像”字样已经被去除了。