自定义帖子类型中的多个编辑器(TinyMCE)

时间:2012-02-15 20:32:57

标签: wordpress tinymce custom-post-type

我有一个产品的自定义帖子类型。我在仪表板中正确加载了两个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');
?>

这里有什么想法吗?

谢谢!

布雷特

2 个答案:

答案 0 :(得分:1)

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

示例:

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

答案 1 :(得分:0)

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