WordPress, поле term_order

108
24 ноября 2020, 07:30

В базе данных WP обнаружил поле term_order в таблице wp_terms. Теперь я хочу добавить возможность изменять это поле через страницу редактирования таксономии текстовым полем. Знаю что это поле используют различные плагины для сортировки, но мне нужен именно описанный выше вариант. Как это можно реализовать через плагин или functions.php, не прибегая к редактированию самого WordPress? Буду рад любой помощи!

Answer 1

Сделал сам кое-как. Если кому нужно вот (ставим в functions.php либо в свой плагин):

// Adding a field to sort on the category edit page
add_action( 'product_cat_edit_form_fields', 'product_cat_edit_category', 5 );
function product_cat_edit_category( $term ) {
    $term_order = get_term( $term->term_id, 'product_cat' );
    ?>
    <tr>
        <th scope="row"><label for="description">Сортировка</label></th>
        <td><input type="text" name="term_order" value="<?php echo $term_order->term_order; ?>"></td>
    </tr>
    <?php
}
// Update term_order value when saving taxonomy
add_action( 'edit_product_cat', 'product_cat_save', 10, 1 );
function product_cat_save( $term_id ) {
    global $wpdb;
    if ( isset( $_POST['term_order'] ) ) {
        $term_order = $_POST['term_order'];
        $wpdb->query('UPDATE '.$wpdb->prefix.'terms SET term_order='.$term_order.' WHERE term_id='.$term_id);
        wp_redirect( esc_url_raw( get_edit_term_link( $term_id, 'product_cat', 'product' ) ) );
    }

В add_action где edit_product_cat и product_cat_edit_form_fields вместо product_cat должно быть название вашей таксономии. в моем случае это категории товаров в woocommerce.

READ ALSO
Как не применять условие в SQL если оно не пришло?

Как не применять условие в SQL если оно не пришло?

Нужно вывести список товаров, применив фильтры

104
Отправить сообщение в Whatsapp

Отправить сообщение в Whatsapp

Есть ли API, чтобы с помощью PHP отправить сообщение в WhatsApp?

124
Веб сервер для веб разработки

Веб сервер для веб разработки

Поставил себе ubintu, в первый раз работаю с линуксом в графической оболочкеПодскажите пожалуйста, есть ли какие-то строенные локальные серверы...

130
Fragment накладывается на preference fragment

Fragment накладывается на preference fragment

В navigation drawer создаю два фрагмента обычный и с настройками, при переходе из фрагмента настроек на другой он накладывается

96