我正在尝试为“外科医生”添加自定义帖子类型,不幸的是我需要添加6个部分,这些部分需要是富文本而不是图像的纯文本等等。这就是我目前所拥有的。
我让所有纯文本字段都正常工作,但现在我需要添加所有富文本字段。
在后端设置各种结构
function personal_meta() {
global $post;
$custom = get_post_custom($post->ID);
$email = $custom["email"][0];
$phone = $custom["phone"][0];
$address = $custom["address"][0];
$website = $custom["website"][0];
?>
<p><label>Email:</label><br />
<input type="text" name="email" value="<?php echo $email; ?>" /></p>
<p><label>Phone - with extension. i.e. (805) 555-2323 Ext 234</label><br />
<input type="text" name="phone" value="<?php echo $phone; ?>" /></p>
<p><label>Address:</label><br />
<textarea cols="50" rows="4" name="address"><?php echo $address; ?></textarea></p>
<p><label>Website - BEGINNING WITH http://</label><br />
<input type="text" name="website" value="<?php echo $website; ?>" /></p>
<?php
}
继承人保存它的代码
add_action('save_post','save_details');
function save_details(){
global $post;
update_post_meta($post->ID, "email", $_POST["email"]);
update_post_meta($post->ID, "phone", $_POST["phone"]);
update_post_meta($post->ID, "address", $_POST["address"]);
update_post_meta($post->ID, "website", $_POST["website"]);
}
答案 0 :(得分:0)
您需要添加“theEditor”类,然后将tinyMCE编辑器添加到textarea
:
<textarea class="theEditor" cols="50" rows="4" name="address">
<?php echo $address; ?>
</textarea>
但是,这会在保存后删除<p>
和<br>
个标签(而不是其他标签)。
为防止剥离这些标记,您需要尝试以下内容:
<textarea class="theEditor" cols="50" rows="4" name="address">
<?php echo wpautop(get_post_meta($post->ID, 'your text area', true)); ?>
</textarea>
答案 1 :(得分:0)
我认为你必须做深层次的工作,就像在update_metadata上一样,wordpress使用sanitize_meta函数来清理元值,因此,你可以获得普通的价值。