您可以爲調查創建自定義帖子類型。
register_post_type('survey', // POST TYPE NAME
array(
'thumbnail',
'labels' => array(
'name' => __('Surveys'),
'singular_name' => __('survey')
),
'can_export' => TRUE,
'exclude_from_search' => FALSE,
'publicly_surveyable' => TRUE,
'menu_icon' => 'dashicons-format-chat',
'survey_var' => 'survey',
'show_ui' => TRUE,
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'thumbnail', 'page-attributes', 'excerpt'),
'hierarchical' => true,
'show_in_menu' => TRUE,
'show_in_nav_menus' => TRUE,
'taxonomies' => array('person_type')
)
);
然後當調查後創建。 $ thash是一個隨機的帖子名稱,它比show ID更好。並鏈接到這將是yourpage.net/survey/$thash
function insertSurvey($title, $content) {
$t = time();
$thash = md5($t);
$my_query = array(
'post_title' => wp_strip_all_tags($title),
'post_content' => $content,
'post_type' => 'survey',
'post_name' => $thash,
'post_status' => 'publish',
'post_author' => 1
);
$data = wp_insert_post($my_query);
}
通過電子郵件發給
function contact_form_init() {
$name = strip_tags($_POST['name']);
$tel = strip_tags($_POST['tel']);
$email = strip_tags($_POST['email']);
$text = strip_tags($_POST['message']);
$subject = 'Subject';
$headers = "From: [email protected] \r\n";
$headers .= "Reply-To: [email protected] \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= '<h1>Title/h1>';
$message .= '<p><strong>Name</strong>: '.$name.'</p>';
$message .= '<p><strong>Phone</strong>: '.$tel.'</p>';
$message .= '<p><strong>Email</strong>: '.$email.'</p>';
$message .= '<p><strong>Message</strong>: '.$text.'</p>';
$message .= '<p>Send on: '.date("F j, Y, g:i a").'</p>';
$message .= '</body></html>';
mail($to, $subject, $message, $headers);
exit;
}
非常讚賞。所以我錯過的關鍵是需要有一個自定義的職位類型註冊來創建slu。。這對我有很大的幫助。調查結果需要保存爲已有現有帖子類型的元數據,但我認爲我可以處理該問題。我是否會在正確的軌道上說just/survey /可能是端點URI,thash可能在查詢字符串中?另外,我在哪裏創建/調查/頁面html內容(表單)?調查結果將是超級簡單的數據,需要將其作爲元數據保存到現有的自定義帖子類型中。 – rwkiii
是的thash會是你的帖子slu for,對於特定的帖子。關於表單創建?每個調查的形式應該不同?對於每個您只允許完成一次的特定調查,或者您希望允許多個訪問者完成同一個調查頁面? – Beneris
多位訪問者填寫同一頁面,但它引用了他們自己的$ post_id。有了上面的幫助和更多的研究,我能夠得到一個可行的解決方案。謝謝你的幫助! – rwkiii