Intereting Posts
Получить пользовательский пост по запросу в одном из своих настраиваемых полей Как правильно get_template_directory () в локальной среде Незнакомые свойства HTML в авадах и Divi Темы Добавить контент, как только начнется <body> Повторяющиеся пользовательские поля WordPress в метабоке Как отключить все admin jQuery с помощью WHMCS Как фильтровать контент the_content () & include из шаблона Изменение маршрутизации WordPress для загрузки одной и той же страницы для разных URL-адресов Фильтр WordPress template_include не работает должным образом Уведомление по электронной почте о новом сообщении включает код Могу ли я использовать разные разделы настроек на разных страницах, используя группу параметров сохранения? Главное меню не отображается на страницах категорий wp_enqueue_style и разные стили для шаблона блога Как связать и автоматически заполнить пользовательскую деталь в форме регистрации woocommerce в биллинговой форме? Включить функции и методы по умолчанию

Добавление персонализированных элементов типа сообщения из внешнего интерфейса

Я пытаюсь выяснить, как сделать мой сайт WordPress, чтобы иметь возможность добавлять элементы portfolio из интерфейса. Плагины, такие как WP-User-Frontend, позволяют отправлять сообщения из интерфейса, но работают только с сообщениями в блоге.

Есть ли какие-либо способы или любые плагины, похожие на wp-user-frotend, но возможность добавлять персонализированные элементы типа сообщения?

Если вы готовы заплатить за это, плагин Gravity Forms позволяет создавать формы, которые сопоставляются с вашими типами пользовательских сообщений (даже с обычными почтовыми и страницами), а также для отображения ваших пользовательских полей.

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

Вот основной пример;

 if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "my_post_type") { //store our post vars into variables for later use //now would be a good time to run some basic error checking/validation //to ensure that data for these values have been set $title = $_POST['title']; $content = $_POST['content']; $post_type = 'my_custom_post'; $custom_field_1 = $_POST['custom_1']; $custom_field_2 = $_POST['custom_2']; //the array of arguements to be inserted with wp_insert_post $new_post = array( 'post_title' => $title, 'post_content' => $content, 'post_status' => 'publish', 'post_type' => $post_type ); //insert the the post into database by passing $new_post to wp_insert_post //store our post ID in a variable $pid $pid = wp_insert_post($new_post); //we now use $pid (post id) to help add out post meta data add_post_meta($pid, 'meta_key', $custom_field_1, true); add_post_meta($pid, 'meta_key', $custom_field_2, true); } 

Ваша HTML-форма будет выглядеть примерно так;

 <form method="post" name="front_end" action="" > <input type="text" name="title" value="My Post Title" /> <input type="text" name="content" value="My Post Content" /> <input type="text" name="custom_1" value="Custom Field 1 Content" /> <input type="text" name="custom_2" value="Custom Field 2 Content" /> <button type="button">Submit</button> <input type="hidden" name="action" value="my_post_type" /> </form> 

Вы можете поместить все это в файл шаблона темы. Как правило, я бы сделал еще один шаг и запустил логику обработки (PHP) из функции внутри моего functions.php, подключенной к действию, но он также будет работать из файла темы.

Это только основной пример и отсутствие каких-либо серьезных ошибок проверки и проверки. Однако это дает вам основную основу для того, что вам нужно, чтобы отправлять сообщения с переднего конца на ваши типы сообщений в конце.

Существуют также многочисленные учебные пособия, которые распространяются по теме на WPSE, если вы запустите поиск, вы найдете множество информации.

 <?php if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "front_post") { //store our post vars into variables for later use //now would be a good time to run some basic error checking/validation //to ensure that data for these values have been set $title = $_POST['title']; $content = $_POST['content']; $tags = $_POST['tag']; $custom_field = $_POST['custom_1']; $post_type = 'frontpost'; //the array of arguements to be inserted with wp_insert_post $new_post = array( 'post_title' => $title, 'post_content' => $content, 'tags_input' => $tags, 'post_status' => 'publish', 'post_category' => array('0',$_POST['cat']), 'post_type' => $post_type ); //insert the the post into database by passing $new_post to wp_insert_post //store our post ID in a variable $pid //we now use $pid (post id) to help add out post meta data $pid=wp_insert_post($new_post); //we now use $pid (post id) to help add out post meta data add_post_meta($pid, 'cust_key', $custom_field); } ?> 

  <div class="front-form col-sm-6"> <form method="post" name="front_end" action="" > <input type="text" name="title" placeholder="FrontPost Title" required /> <textarea name="content" placeholder="FrontPost Content" rows="5" ></textarea> <input type="text" name="tag" placeholder="FrontPost tags" /> <input type="text" name="custom_1" placeholder="Custom Field Content" /> <span><?php wp_dropdown_categories( 'tab_index=10&taxonomy=category&hide_empty=0' ); ?></span> <button type="submit">Submit</button> <input type="hidden" name="action" value="front_post" /> </form> </div> 

попробуйте это, это поможет вам ..! Аакиб 🙂