コード例 #1
0
 public function save()
 {
     $props = $this->get_properties();
     $post_content = implode("\n", wpcf7_array_flatten($props));
     if ($this->initial()) {
         $post_id = wp_insert_post(array('post_type' => self::post_type, 'post_status' => 'publish', 'post_title' => $this->title, 'post_content' => trim($post_content)));
     } else {
         $post_id = wp_update_post(array('ID' => (int) $this->id, 'post_status' => 'publish', 'post_title' => $this->title, 'post_content' => trim($post_content)));
     }
     if ($post_id) {
         foreach ($props as $prop => $value) {
             update_post_meta($post_id, '_' . $prop, wpcf7_normalize_newline_deep($value));
         }
         if (wpcf7_is_valid_locale($this->locale)) {
             update_post_meta($post_id, '_locale', $this->locale);
         }
         if ($this->initial()) {
             $this->id = $post_id;
             do_action('wpcf7_after_create', $this);
         } else {
             do_action('wpcf7_after_update', $this);
         }
         do_action('wpcf7_after_save', $this);
     }
     return $post_id;
 }
コード例 #2
-1
ファイル: admin-functions.php プロジェクト: abcode619/wpstuff
function wpcf7_save_contact_form($post_id = -1)
{
    if (-1 != $post_id) {
        $contact_form = wpcf7_contact_form($post_id);
    }
    if (empty($contact_form)) {
        $contact_form = WPCF7_ContactForm::get_template();
    }
    if (isset($_POST['post_title'])) {
        $contact_form->set_title($_POST['post_title']);
    }
    if (isset($_POST['wpcf7-locale'])) {
        $locale = trim($_POST['wpcf7-locale']);
        if (wpcf7_is_valid_locale($locale)) {
            $contact_form->locale = $locale;
        }
    }
    $properties = $contact_form->get_properties();
    if (isset($_POST['wpcf7-form'])) {
        $properties['form'] = trim($_POST['wpcf7-form']);
    }
    $mail = $properties['mail'];
    if (isset($_POST['wpcf7-mail-subject'])) {
        $mail['subject'] = trim($_POST['wpcf7-mail-subject']);
    }
    if (isset($_POST['wpcf7-mail-sender'])) {
        $mail['sender'] = trim($_POST['wpcf7-mail-sender']);
    }
    if (isset($_POST['wpcf7-mail-body'])) {
        $mail['body'] = trim($_POST['wpcf7-mail-body']);
    }
    if (isset($_POST['wpcf7-mail-recipient'])) {
        $mail['recipient'] = trim($_POST['wpcf7-mail-recipient']);
    }
    if (isset($_POST['wpcf7-mail-additional-headers'])) {
        $mail['additional_headers'] = trim($_POST['wpcf7-mail-additional-headers']);
    }
    if (isset($_POST['wpcf7-mail-attachments'])) {
        $mail['attachments'] = trim($_POST['wpcf7-mail-attachments']);
    }
    $mail['use_html'] = !empty($_POST['wpcf7-mail-use-html']);
    $mail['exclude_blank'] = !empty($_POST['wpcf7-mail-exclude-blank']);
    $properties['mail'] = $mail;
    $mail_2 = $properties['mail_2'];
    $mail_2['active'] = !empty($_POST['wpcf7-mail-2-active']);
    if (isset($_POST['wpcf7-mail-2-subject'])) {
        $mail_2['subject'] = trim($_POST['wpcf7-mail-2-subject']);
    }
    if (isset($_POST['wpcf7-mail-2-sender'])) {
        $mail_2['sender'] = trim($_POST['wpcf7-mail-2-sender']);
    }
    if (isset($_POST['wpcf7-mail-2-body'])) {
        $mail_2['body'] = trim($_POST['wpcf7-mail-2-body']);
    }
    if (isset($_POST['wpcf7-mail-2-recipient'])) {
        $mail_2['recipient'] = trim($_POST['wpcf7-mail-2-recipient']);
    }
    if (isset($_POST['wpcf7-mail-2-additional-headers'])) {
        $mail_2['additional_headers'] = trim($_POST['wpcf7-mail-2-additional-headers']);
    }
    if (isset($_POST['wpcf7-mail-2-attachments'])) {
        $mail_2['attachments'] = trim($_POST['wpcf7-mail-2-attachments']);
    }
    $mail_2['use_html'] = !empty($_POST['wpcf7-mail-2-use-html']);
    $mail_2['exclude_blank'] = !empty($_POST['wpcf7-mail-2-exclude-blank']);
    $properties['mail_2'] = $mail_2;
    foreach (wpcf7_messages() as $key => $arr) {
        $field_name = 'wpcf7-message-' . strtr($key, '_', '-');
        if (isset($_POST[$field_name])) {
            $properties['messages'][$key] = trim($_POST[$field_name]);
        }
    }
    if (isset($_POST['wpcf7-additional-settings'])) {
        $properties['additional_settings'] = trim($_POST['wpcf7-additional-settings']);
    }
    $contact_form->set_properties($properties);
    do_action('wpcf7_save_contact_form', $contact_form);
    return $contact_form->save();
}