关键字的 Wordpress 简码?

Wordpress Shortcode for keywords?

所以,我知道你可以输入:

function page_title_sc( ){
   return get_the_title();
}
add_shortcode( 'page_title', 'page_title_sc' );

进入 function.php 以获取页面标题并在 Wordpress 中获取 [page_title] 简码,但是否可以对关键字执行此操作?

我在 Yoast SEO 中输入了焦点关键字,我想要一个简码。

或者另一个想法:有没有办法在每个页面中都有一个自定义简码字段?这样我只需要将一些东西放入其中一次,就可以将它用作整个页面中的短代码?

使用get_post_meta并抓取_yoast_wpseo_focuskw:

function page_focus_keyword( ){
   return get_post_meta(get_the_ID(), '_yoast_wpseo_focuskw');
}
add_shortcode( 'focus_keyword', 'page_focus_keyword' );

如果您想要 Yoast 的简码自动输出关键字:

function wpso_61018203_output_yoast_keyphrase() {
    // Make sure Yoast is installed/active.
    if ( class_exists( 'WPSEO_Meta' ) ) :
        // Hold the global post object.    
        global $post;

        return WPSEO_Meta::get_value( 'focuskw', $post->ID );
    endif;
}

add_shortcode('yoast_kw', 'wpso_61018203_output_yoast_keyphrase' );

然后您可以在您的内容中执行此操作 ['yoast_kw'],或在您的模板中使用 echo do_shortcode('[yoast_kw]');

WordPress 过滤所有内容以确保没有人使用帖子和页面内容在数据库中插入恶意代码。这意味着您可以在帖子中编写基本 HTML,但不能编写 PHP 代码。

并且您想使用 Wordpress shortcode 作为焦点关键字。

Wordpress.org Yoast SEO plugin support query on similar query, and checkout the linked solution

给出的可能解决方案

在 functions.php

中插入以下 php 片段
if(!function_exists('wpseoFocusKW'))
{
        function wpseoFocusKW()
        {
            $focuskw = wpseo_get_value('focuskw', $post->ID);
            echo $focuskw;
        }
}

并在另一个页面中使用 shortcode 作为 重点关键字 ,在任何包含 yoast-seo plugin 的页面中插入以下简码:

焦点关键字简码

 [<?php wpseoFocusKW();?>]