После того как пользователь заполнит все поля и нажмет «ОК» я хочу отправить эту информацию в базу данных.
После нажатия кнопки в TinyMCE и обработки данных из «некого окна» — нужно хотеть вставить результат в тело поста. Для этого не нужно знать ID поста, которого, собсно, может не быть. Он появится только после сохранения (авто в тч).
Если же у Вас какая-то другая задача/задумка, то стоит спросить «как реализовать».
-
Ответ изменён 5 лет, 4 месяца назад пользователем
SeVlad.
Я хочу сделать плагин для анонсов событий. В тело поста я вставляю сам «анонс» (некоторую информацию). А дату я хочу сохранить в базу данных чтобы потом по ней сортировать анонсы. То есть у меня есть дев дать
1 — дата поста, которую я не трогаю (WP)
2 — дата анонса, которую я хочу сохранить в базу данных (вводит пользователь)
таблица (что я создал)
wp_events
-id (primary key)
-post_id
-dateEvents
я сделал код по другому
add_action('save_post', 'saveEvents');
function saveEvents( $post_id )
{
$postDate = ? но как мне теперь получить дату ?!!!!!!!!!!!!;
$wpdb->insert(
'wp_events',
array(
'post_id' => $post_id,
'dateEvents' => $postDate
),
array(
'%d',
'%s'
)
)
}
но как мне теперь получить дату ?
script.html — файл который содержит окно для ввода информации
...
<input type="date" name="date_of_events" id="date_of_events" required/>
...
script.js — добавление кнопки в TinyMCE
(function () {
tinymce.PluginManager.add( 'events', function( editor, url )
{
// Add Button to Visual Editor Toolbar
editor.addButton('events', {
title: 'New event',
cmd: 'events',
image: url + '/image/note.png',
});
// Add Command when Button Clicked
editor.addCommand('events', function()
{
editor.windowManager.open({
title: 'Event',
url: url + '/script.html',
width: 600,
height: 600
});
});
});
})();
Я хочу сделать плагин для анонсов событий. В тело поста я вставляю сам «анонс» (некоторую информацию). А дату я хочу сохранить в базу данных чтобы потом по ней сортировать анонсы.
Ну так причём тут редактор и кнопки в нём?
Произвольные поля и всех делов.
таблица (что я создал)
Рекомендую обратить вминание на ответы коллег:
https://ru.wordpress.org/support/topic/%d0%ba%d0%b0%d0%ba-%d0%bd%d0%be%d0%b2%d1%8b%d0%b5-%d1%82%d0%b8%d0%bf%d1%8b-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%b5%d0%b9-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d1%82%d1%8c-%d0%b2-%d0%bd%d0%be%d0%b2/
-
Ответ изменён 5 лет, 4 месяца назад пользователем
SeVlad.
Спасибо, да такой вариант подходит.
У меня есть еще один вопрос.
Я хочу как-то разъединить написания обычных постов и постов анонсов (потому что мне нужно сделать некоторые поля обязательны для заполнения). Для этого я хочу создать отдельную страницу.
Я создал меню, и когда пользователь перейдет по этому меню, я хочу отобразить страницу создания поста с моими полями, но не знаю как это сделать.
define('concerts_URL', plugins_url(plugin_basename(dirname(__FILE__))));
add_action('admin_menu', 'eventsMenu');
function eventsMenu()
{
add_menu_page(
'New event',
'New event',
'manage_options',
'events-add-new',
'events_add_new',
concerts_URL.'/image/events.png'
);
}
function events_add_new()
{
Что здесь нужно написать чтобы вывести страницу создания нового поста с произвольными полями ??
}
Так я добавлял новые поля.
add_action('add_meta_boxes', 'events_extra_fields', 1);
function events_extra_fields() {
add_meta_box( 'extra_fields', 'Event', 'events_extra_fields_box_func', 'post', 'normal', 'high');
}
function events_extra_fields_box_func( $post ){
...здесь мои поля...
}
add_action('save_post', 'events_saveEvent');
function events_saveEvent()
{
...сохраняю поля...
}
У меня есть еще один вопрос.
Правила форума, п2.
Создайте другой топик, поясните что значит «анонсы», для чего и тд.
Извините, я не хотел нарушать правила форму.