[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: WordPress, изменить позицию "Отменить ответ"
k1logram
Задача переместить блок "Отменить ответ" в конец формы, на уровень submit. Возможно для этой цели использовать фильтр comment_form_fields? Переопределение ниже не работает. Использовал в functions.php и comments.php (перед дефолтным comment_form).
add_filter('comment_form_fields', 'reorder_comment_fields' );
function reorder_comment_fields($fields){

$new_fields = array(); // поля в новом порядке

$myorder = ['author',
'email',
'url',
'comment',
'cancel_reply_before',
'cancel_reply_link',
'cancel_reply_after',
'submit_button',
'submit_field']; // нужный порядок

foreach($myorder as $key){
$new_fields[$key] = $fields[ $key ];
unset( $fields[$key] );
}

// если остались еще какие-то поля добавим их в конец
if( $fields )
foreach( $fields as $key => $val )
$new_fields[ $key ] = $val;

return $new_fields;
}
Kusss
$fields = [
'email' => '1@1.ru',
'author' => 'автор',
'test' => 'тест',
'submit_button' => 'поехали !!!',
];


$myorder = [
'author',
'email',
'url',
'comment',
'cancel_reply_before',
'cancel_reply_link',
'cancel_reply_after',
'submit_button',
'submit_field'
];

$new_fields = [];

foreach($myorder as $key){
if (isset($fields[ $key ])) {
$new_fields[$key] = $fields[ $key ];
unset( $fields[$key] );
}
}


// если остались еще какие-то поля добавим их в конец
if(count($fields)) {
$new_fields = array_merge($new_fields, $fields);
}
print_r($new_fields);
Результат
Array
(
[author] => автор
[email] => 1@1.ru
[submit_button] => поехали !!!
[test] => тест
)
k1logram
Kusss, да, на выходе получаю массив, и выводится он через print_r прекрасно) Только на сайте форма комментариев остается неизменной. В итоге не нашел решения, пришлось позиционировать css. Если кто знает, как средствами wp изменить положение кнопки "cancel_reply_link", просьба написать. Думаю, не только мне будет полезно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.