在这篇文章中,我们详细介绍 WordPress
函数:get_post
()并使用示例时,我们已经共享了这个函数代码。当您发布/保存一篇文章时,这个函数代码会检查文章内容中是否有使用过的标签,如果有,它会自动将这些标签添加到文章中。它非常实用,与之前共享的 WordPress
文章中标签的无插件内部链一起使用,对 SEO
有很大的好处。标签(tags
)是另一种形式的分类方法,WordPress
自动为文章添加 tags
标签原理是从文章或标题中提取与数据库相关的 tags
标签的词。
废话不多,发代码:
// WordPress
自动为文章添加已使用过的标签
function
array2object
($array
) { // 数组转对象
if
(is_array
($array
)) {
$obj
= new
StdClass
();
foreach
($array
as
$key
=> $val
){
$obj
->$key
= $val
;
}
}
else
{
$obj
= $array
;
}
return
$obj
;
}
function
object2array
($object
) { // 对象转数组
if
(is_object
($object
)) {
foreach
($object
as
$key
=> $value
) {
$array
[$key
] = $value
;
}
}
else
{
$array
= $object
;
}
return
$array
;
}
add_action
('save_post
', 'auto_add_tags
');
function
auto_add_tags
(){
$tags
= get_tags
( array
('hide_empty
' => false
) );
$post_id
= get_the_ID
();
$post_content
= get_post
($post_id
)->post_content
;
if
($tags
) {
$i
= 0;
$arrs
= object2array
($tags
);shuffle
($arrs
);$tags
= array2object
($arrs
);// 打乱顺序
foreach
( $tags
as
$tag
) {
// 如果文章内容出现了已使用过的标签,自动添加这些标签
if
( strpos
($post_content
, $tag
->name
) !== false
){
if
($i
== 2) { // 控制输出数量
break
;
}
wp_set_post_tags
( $post_id
, $tag
->name
, true
);
$i
++;
}
}
}
}
以下代码可为文章中出现的 tag
关键词自动加上内链:
注:这种方式只能对新增文章生效,旧文章要更新才可以。
//将大小写强行更改为标签的大小写
$content
= str_ireplace
(urldecode
($tag
->slug
), $tag
->name
, $content
);
转载请注明:汇站网 » WordPress
文章自动添加 TAG
标签并添加内链(标题+内容)