使用WordPress设置API在文本字段中显示快捷码

时间:2019-03-01 作者:John Cook

我想知道如何使用wordpress设置api在文本字段中显示短代码的输出。我的目标是创建几个短代码,以便我可以将其中一个与其他文本一起使用。在这个示例中,我试图显示产品标题,然后在文本字段中显示一些文本,例如sorry, [oosd-title] has sold out 要显示sorry, red short has sold out.

短代码很容易做到

function oosdfw_title_display() {

return get_the_title();
}
add_shortcode( \'oosd-title\', \'oosdfw_title_display\' );
这将在管理区域中生成文本字段。除了短代码显示[oosd标题]而不是产品标题外,其他功能都正常

function oosdw_text_field_6_render(  ) { 

$options = get_option( \'oosdw_settings\' );
?>
<input type="text" name="oosdw_settings[oosdw_text_field_6]" value="<? 
php echo $options["oosdw_text_field_6"]; ?>">
    <?php

}
我不太确定要在前端的中生成短代码需要做什么。我确实尝试了esc\\u html,但不完全确定如何使用它或将其放置在何处

1 个回复
SO网友:Qaisar Feroz

Use a shortcode with parameters

function oosdfw_title_display($atts) {
    $a = shortcode_atts( array(
        \'before\' => \'Sorry, \',
        \'after\' => \' has sold out.\',
    ), $atts );

    return $a[\'before\'].get_the_title().$a[\'after\'];
}

add_shortcode( \'oosd-title\', \'oosdfw_title_display\' );
Put shortcode in text field 和修改beforeafter 参数以满足您的要求。

[oosd-title before="Sorry " after = " has sold out."]
无需在文本字段中显示shortcode的输出

Front-end

$options = get_option( \'oosdw_settings\' );
echo do_shortcode( $options["oosdw_text_field_6"]);
我希望这有帮助

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗