如何在仪表板中的自定义帖子类型中添加富文本框?

时间:2011-09-23 06:05:03

标签: wordpress custom-post-type

我正在尝试为“外科医生”添加自定义帖子类型,不幸的是我需要添加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"]);
}

2 个答案:

答案 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函数来清理元值,因此,你可以获得普通的价值。