Wordpress 从管理选项中检索值

Wordpress Retrieve Value from Admin Options

我使用这个工具为我的 WordPress 生成了一个选项页面:https://jeremyhixon.com/tool/wordpress-option-page-generator/

我插入了我的 functions.php 代码,选项页面是可见的,但是,现在我正在尝试创建一个可以输出值的短代码,但它似乎不起作用。

这是我的代码:

function soonbox_date_func( $atts, $content = null ) {
    
    ob_start();

    $show_date = $soon_box_options['datum_location_0']; // the value from options page
    printf( $show_date );

    return ob_get_clean();
}
add_shortcode( 'soonbox_date', 'soonbox_date_func' );

但是页面上是空的,什么也没有显示。知道我做错了什么吗?

所以 $soon_box_options 不会在短代码回调的范围内定义。所以我们希望它是空的。无论您如何在数据库中获取选项值,使用 get_option 函数检索它应该是标准的(参见:https://developer.wordpress.org/reference/functions/get_option/)。我不知道 datum_location_0 是否是存储在数据库中的选项键,但请尝试类似:

function soonbox_date_func( $atts, $content = null ) {
    
    ob_start();

    $show_date = get_option('datum_location_0');
    printf( $show_date );

    return ob_get_clean();
}
add_shortcode( 'soonbox_date', 'soonbox_date_func' );

如果 datum_location_0 不是数据库中的键,则用正确的键替换它。