几年后,但希望其他人会发现这个解决方案很有用。。。
虽然我尝试在Wordpress中实现这类功能的问题略有不同,但希望这个解决方案也能对您起作用。
首先,通过添加以下代码解决了标签不允许包含多个块级元素的问题this article 我的职能。php文件。。。
function allow_all_tinymce_elements_attributes( $init ) {
// Allow all elements and all attributes
$ext = \'*[*]\';
// Add to extended_valid_elements if it already exists
if ( isset( $init[\'extended_valid_elements\'] ) ) {
$init[\'extended_valid_elements\'] .= \',\' . $ext;
} else {
$init[\'extended_valid_elements\'] = $ext;
}
// return value
return $init;
}
add_filter(\'tiny_mce_before_init\', \'allow_all_tinymce_elements_attributes\');
。。。然后确保为我的标签命名。这允许我在文本选项卡中输入并成功保存以下内容。。。
Some text.
<div>
<a href="https://somewhere.com/product/this_prod/" name="link">
<h2>THIS PRODUCT</h2>
Cost efficient Blablabla</a>
</div>
对于第二个问题,当从“文本”切换到“可视”选项卡时,代码被剥离,我只是关闭了特定帖子类型的可视选项卡。我修改了中的初始代码
this article, 它最初的目标是帖子ID,而不是帖子类型。我将此代码添加到我的函数中。php文件。。。
add_filter(\'user_can_richedit\', \'disable_wyswyg_to_preserve_my_markup\');
function disable_wyswyg_to_preserve_my_markup( $default ){
if( get_post_type() == \'product\') return false;
return $default;
}
如果这对自定义帖子类型不起作用,可以尝试在前面的代码上方添加以下行。。。
add_theme_support( \'post-formats\', \'my_custom_post_type\' );
或者,为了解决第二个问题,您也可以尝试一个插件,例如
this one.