【问题标题】:Multiple editors (TinyMCE) in custom post types自定义帖子类型中的多个编辑器 (TinyMCE)
【发布时间】:2012-10-27 08:59:54
【问题描述】:

我有一个产品的自定义帖子类型。我在仪表板中正确加载了两个 TinyMCE 编辑器(标准和一个用于汇总字段)。从仪表板方面来看,一切正常。添加,更新。等等……

但在网站上,输出正在丢失换行符(段落标签)。这是一个例子:

http://keg.brettatkin.com/products/complete-consulting-skills-learning-system/

我正在为此使用 wp_editor 函数。 (http://codex.wordpress.org/Function_Reference/wp_editor)

这是我的代码:

<?php
function keg_product_fields (){
global $post;
$custom = get_post_custom($post->ID);
$keg_product_price = $custom["keg_product_price"][0];
$keg_product_link = $custom["keg_product_link"][0];
$keg_product_type = $custom["keg_product_type"][0];
$keg_product_featured = $custom["keg_product_featured"][0];
$keg_product_summary = $custom["keg_product_summary"][0];
$editor_id = "kegprodsummary"
?>
<p>
<label>Summary:</label><br />
<?php wp_editor( $keg_product_summary, $editor_id, $settings = array('textarea_name' => 'keg_product_summary') ); ?>
</p>
<p>
<label>Price:</label><br />
<input size="10" name="keg_product_price" value="<?php echo $keg_product_price; ?>" />
</p>
<p>
<label>Type:</label><br />
<select name="keg_product_type">
<option value="<?php echo $keg_product_type; ?>" selected="selected"><?php echo $keg_product_type; ?></option>
<option value="Book">Book</option>
<option value="CD">CD</option>
<option value="Downloadable">Downloadable</option>
<option value="Multimedia">Multimedia</option>
<option value="Virtual">Virtual</option>
</select>
</p>
<p>
<label>Link:</label><br />
<input size="65" maxlength="200" name="keg_product_link" value="<?php echo $keg_product_link; ?>" />
</p>
<p>
<input type="checkbox" name="keg_product_featured" value="Yes" <?php if (!(strcmp("$keg_product_featured","Yes"))) {echo "checked=\"checked\"";} ?>/>
<label>Featured Product</label>
</p>

<?php
}

function add_keg_product_box (){
add_meta_box(
"keg_product_info",
"Product Details",
"keg_product_fields",
"keg_products"
);
}


function save_keg_product_attributes ( $post_id )
{
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
return $post_id;
}

global $post;
update_post_meta($post->ID, "keg_product_price", $_POST["keg_product_price"]);
update_post_meta($post->ID, "keg_product_link", $_POST["keg_product_link"]);
update_post_meta($post->ID, "keg_product_type", $_POST["keg_product_type"]);
update_post_meta($post->ID, "keg_product_featured", $_POST["keg_product_featured"]);
update_post_meta($post->ID, "keg_product_summary", $_POST["keg_product_summary"]);

}

add_action ('admin_init', 'add_keg_product_box' );
add_action ('save_post', 'save_keg_product_attributes');
add_action ('publish_post', 'save_keg_product_attributes');
?>

这里有什么想法吗?

谢谢!

布雷特

【问题讨论】:

  • 我在该页面上看不到任何 tinymce 编辑器
  • 对不起,该页面是段落标签被剥离的一个例子。它正在节省粗体等。
  • 如果标签被剥离,您可能需要调整 valid_elements 和 valid_children 的默认设置:tinymce.com/wiki.php/Configuration:valid_children
  • 将此添加到您的函数文件中,位于自定义邮政编码之前 - wp_tiny_mce( false, array('remove_linebreaks' =&gt; 'false','convert_newlines_to_brs' =&gt; 'true'));

标签: wordpress tinymce custom-post-type


【解决方案1】:

您必须在要显示摘要的页面中使用 apply_filters 函数应用输出过滤器。

例子:

<?php 
$summary = get_post_meta(...);
echo apply_filters('the_content', $summary);
?>

【讨论】:

    【解决方案2】:

    在保存内容或显示内容时尝试使用wpautop()(我建议您在保存时使用它,以提高性能)。
    此功能根据换行符在整个文本中添加段落。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 2017-05-21
      • 1970-01-01
      • 2015-11-18
      • 2016-07-01
      相关资源
      最近更新 更多