在WordPress中使用定制的HTML标记

时间:2017-10-19 作者:Renier Delport

类似于,例如,<blockquotes>, 例如,我还与custom一起工作<blocktips> 样式为:before和:after元素,以便在站点上定期使用。设置样式后,这些将作为<blocktip>Text here</blocktip>.

问题是,当我返回到可视化编辑器时,这些元素将从代码中删除,并且必须在更新之前再次添加。

在我的例子中,是否有办法防止WordPress编辑器删除这些自定义HTML标记。

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

您可以展开KSE允许的标记列表(及其属性):

add_filter(\'wp_kses_allowed_html\', \'wpse_283385_blocktip_tag\');
function wpse_283385_blocktip_tag($allowed_tags) {
    $allowed_tags[\'blocktip\'] = array(
        \'name\' => true,
        \'id\' => true,
        \'class\' => true,
        \'style\' => true
    );

    return $allowed_tags;
}

add_filter(\'tiny_mce_before_init\', \'wpse_283385_blocktip_tag_tinymce\');
function wpse_283385_blocktip_tag_tinymce($init) {
    $tags = \'blocktip[*]\';

    if ( isset( $init[\'extended_valid_elements\'] ) ) {
        $init[\'extended_valid_elements\'].= \',\'.$tags;
    } else {
        $init[\'extended_valid_elements\'] = $tags;
    }

    return $init;
}
如果需要该标记的更多属性,请在第一个函数中将它们添加到数组中,或在第二个函数中将它们添加到$标记(逗号分隔)。

结束

相关推荐

为“Swipebox”lightbox定制css

我正在使用Awesome Flickr Gallery,一个在网站上显示Flickr图库的插件;它使用“Swipebox”在灯箱上显示单个图片。灯箱在屏幕上和底部显示两个栏,di显示信息并提供导航控制。我正在尝试自定义这些栏以匹配网站的字体和颜色,但没有成功。通过用铬检查相关项目,我发现这些元素<div id=\"swipebox-top-bar\" class=\"visible-bars\"> 和<div id=\"swipebox-bottom-bar\" class=\"visi