我的博客中有大约1K的帖子。我使用Yoast SEO Wordpress插件。我的所有帖子都没有添加焦点关键字。有没有办法我可以动态地添加帖子的标题到焦点关键字字段而不是逐个复制粘贴?
答案 0 :(得分:0)
Yoast Focus关键字是一个post meta,你可以创建一个循环遍历所有帖子,然后用get_the_title()更新post meta;
示例代码:
$title = get_the_title();
$args = array('posts_per_page' => -1, 'post_type' => 'post');
$posts = new WP_Query($args);
foreach($posts as $post){
update_post_meta($post->ID, '_yoast_wpseo_focuskw', $title);
}
wp_reset_postdata();
您可以在functions.php中添加代码,也可以使用代码创建页面模板。
更新
创建一个不包含循环的空白页面模板,然后将以下代码添加到文件中,并使用此页面模板创建页面。
$posts_query = new WP_Query(
array(
'post_type' => 'post',
'posts_per_page' => -1
)
);
while($posts_query->have_posts()) : $posts_query->the_post();
$title = get_the_title();
$post_id = get_the_ID();
update_post_meta($post_id, '_yoast_wpseo_focuskw', $title);
echo $title . ' Meta Updated<br />';
endwhile;
使用页面模板访问该页面,它应该遍历每个帖子并显示&#34; TITLE Meta Updated&#34;每次通过帖子。