Здравствуйте.
Хочу продублировать поле "Метки" на странице публикации. Функционал будет такой же, только поиск по другим данным.
Можно ли это сделать через хуки плагина?
Т.е. нужно поле "Метки2", в которое вместо action: rcl_get_like_tags подставлю свой поиск rcl_get_like_users.
Спасибо
Сначала читаем статью по теме
там подробно описан функционал произвольных полей плагина.
Далее добавляем через фильтр rcl_default_public_form_fields произвольное дефолтное поле типа custom:
add_filter('rcl_default_public_form_fields', 'add_custom_default_field_for_public_form', 10, 2);
function add_custom_default_field_for_public_form($fields, $post_type){
//тут указываем свой тип записи
//или удаляем, если нужно для всех типов
if($post_type != 'post') return $fields;
$fields[] = array(
'type' => 'custom',
'slug' => 'my-field',
'title' => 'Мои Метки'
);
return $fields;
}
После этого в настройках формы публикации появится дефолтное поле "Мои метки", у него не будет настроек, его надо будет просто разместить в нужном месте формы.
Вторым шагом формируем контент в форме публикации на месте вывода этого поля:
add_filter('rcl_public_form_fields', 'filter_my_custom_field_in_public_form', 10, 2);
function filter_my_custom_field_in_public_form($fields, $form){
global $user_ID;
//тут указываем свой тип записи
//или удаляем, если нужно для всех типов
if($form->post_type != 'post') return $fields;
foreach($fields as $k => $field){
if($field['slug'] != 'my-field') continue;
$fields[$k]['content'] = 'тут контент, который хотим вывести '
. 'в форме публикации на месте этого поля';
}
}
return $fields;
}
вам надо будет засунуть в значение ячейки content массива поля нужный контент, можно туда поместить все что угодно, в том числе форму, которая вам нужна, код формы находится в файле /wp-content/plugins/wp-recall-trunk/add-on/publicpost/classes/class-rcl-public-form.php со строки 680. Можете скопировать код формы, заменить в тем функцию куда будут отправляться данные и разместить этот код в content поля в коде выше.
Все.