Как добавить расширенное текстовое поле к пользовательскому типу записи в Dashboard? - PullRequest
1 голос
/ 23 сентября 2011

Я пытаюсь добавить пользовательский тип записи для «хирургов», к сожалению, есть 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
}

Вот код для сохраненияit

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 голосов
/ 08 ноября 2013

я думаю, что вам нужно проделать глубокую работу, так как для update_metadata wordpress использует функцию sanitize_meta, которая очищает мета-значение, и, таким образом, вы можете получить простое значение.

0 голосов
/ 28 сентября 2011

Вам необходимо добавить класс "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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...