Wordpress 中带有前缀的自定义字段的自定义简码

Posted

技术标签:

【中文标题】Wordpress 中带有前缀的自定义字段的自定义简码【英文标题】:Custom shortcode for custom fields with Prefix in Wordpress 【发布时间】:2020-02-08 10:38:45 【问题描述】:

我正在尝试为显示在前端的所有自定义选项字段创建自定义 shordcode。 对于每个自定义字段,我使用自定义前缀“myprefix”。

现在,如果我添加以下短代码,它可以正常工作:

[myfield field='myprefix-enable-logo']
function My_Custom_Shortcodes( $atts ) 
  return get_option($atts['field]');

add_shortcode( 'myfield', 'My_Custom_Shortcodes' );

但我想要的是遵循简码的结构,并且前缀是在函数中预定义的:

[myfield field='enable-logo']

如何做到这一点?

【问题讨论】:

【参考方案1】:

我已经通过获取自定义字段属性的 slug 解决了这个问题。然后在 get_option 中添加自定义前缀,如下所示:

function My_Custom_Shortcodes( $atts ) 
    $a = shortcode_atts( array(
        'field' => 'The slug',
    ), $atts );

  $mcf_slug = "$a['field']";
  return get_option('myprefix-' . $mcf_slug);


add_shortcode( 'myfield', 'My_Custom_Shortcodes' );

【讨论】:

以上是关于Wordpress 中带有前缀的自定义字段的自定义简码的主要内容,如果未能解决你的问题,请参考以下文章

PHP Wordpress中的自定义字段

PHP 使用循环外的自定义字段自定义Wordpress查询

Wordpress中的自定义字段

无法显示来自 Wordpress REST API 自定义端点的自定义字段

WordPress 和高级自定义字段管理,仪表板中的自定义列

全代码实现WordPress分类目录和标签添加新的自定义字段