接受自定义函数中的HTML

时间:2015-11-30 作者:sc2015

我有一个用于WordPress页面的自定义字段来显示字幕。如何让以下函数接受HTML代码(如元素)?

function cms_page_sub_title(){
    global $cms_meta, $post;

    if(!empty($cms_meta->_cms_page_title_sub_text)){
        echo \'<div class="page-sub-title">\'.esc_attr($cms_meta->_cms_page_title_sub_text).\'</div>\';
    } elseif (!empty($post->ID) && get_post_meta($post->ID, \'post_subtitle\', true)){
        echo \'<div class="page-sub-title">\'.esc_attr(get_post_meta($post->ID, \'post_subtitle\', true)).\'</div>\';
    }
}
输出为

<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"><?php cms_page_sub_title(); ?></div>
谢谢

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

尝试在数据库中存储标记通常是一个不好的主意,原因如下:

某些字符需要转义才能放入数据库中,数据库中有标记会对您现在或将来可能需要对数据运行的任何搜索产生负面影响只需将原始数据存储在数据库中,并在输出时格式化即可。基本代码如下所示:

$meta = get_post_meta($post->ID, \'post_subtitle\', true);
if (!empty($meta)) {
  $mstr = \'<span class="some-class"\'.$meta.\'</span>\';
}
您可以通过创建shortcode 或者使用the_content filter, 例如