我有一个用于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>
谢谢
最合适的回答,由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, 例如