Для совместной работы WPML и TableOn не требуется никаких специальных действий, просто: Установите WPML. Установите в WPML настройку языков сайта. Создайте контент сайта на разных языках. Установите переключатель языка WPML на передней панели сайта, где находится таблица TableOn. Это все 🙂 Посетители вашего сайта. теперь можете видеть сообщения вашего сайта в… подробнее
Например, вы добавили в таблицу мета-ключ _regular_price. По умолчанию он будет отображаться как простое число или строка. Но как насчет того, чтобы отформатировать его и отобразить рядом с другой информацией? Перегрузите его вывод! В файл functions.php текущей темы WordPress добавьте следующий код:
|
add_action('tableon_profile_extend', function($profile, $action_name) { if ($action_name === 'tableon_default_tables') { if (isset($profile['_regular_price'])) { $profile['_regular_price']['action'] = function($post_id) { return format_price(get_post_meta($post_id, '_regular_price', true)); }; } } return $profile; }, 10, 2); |
format_price вот… подробнее
Если вы хотите добавить кнопку, которая ссылается на любую внешнюю информацию о посте: в файле functions.php добавьте следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
add_action('tableon_profile_extend', function($profile, $action_name) { if ($action_name === 'tableon_default_tables') { $profile['ref_btn'] = [ 'title' => esc_html('Ref. button'), 'order' => FALSE, 'action' => function($post_id) { return TABLEON_HELPER::draw_html_item('a', [ 'href' => get_post_meta($post_id, '_product_url', true), 'target' => '_blank', 'class' => 'tableon-btn' ], 'BUTTON NAME HERE'); } ]; } return $profile; }, 10, 2); |
ref_btn - это просто название ключа для профиля TableOn, вы можете использовать свой собственный. _product_url в коде - это мета-ключ со ссылкой, конечно, вы можете использовать свой собственный… подробнее
В файл functions.php текущей темы WordPress добавьте следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
add_action('tableon_profile_extend', function($profile, $action_name) { if ($action_name === 'tableon_default_tables') { $meta_key = '_my_marks'; if (isset($profile[$meta_key])) { $profile[$meta_key]['action'] = function($post_id) use($meta_key) { $mark = get_post_meta($post_id, $meta_key, true); if ($mark) { return "<span class='tableon-html-yes'><i class='tableon-icon'></i></span>"; } return "<span class='tableon-html-no'><i class='tableon-icon'></i></span>"; }; } } return $profile; },10,2); |
Не забудьте заменить мета-ключ в коде _my_marks на свой. Таким образом, вместо отображения 1 или 0 будут отображаться соответствующие значки. Конечно, с помощью CSS вы можете вместо этого отображать свои собственные значки. Также читайте: https://posts-table.com/how-reload-meta-display-in-the-cell/ Просмотры сообщений:… подробнее
Вы можете увидеть результаты в верхнем меню сайта https://demo.posts-table.com/ -> нажмите «Самые популярные сообщения». Далее: Создать на странице администратора TABLEON новый шорткод [таблица] Открыть настройки нового шорткода -> вкладка «Предварительное определение» -> «Идентификаторы сообщений» -> Используя запятую, установите идентификаторы сообщений, которые вы хотите отображать в таблице. Пример: 23,99,777. Набор… подробнее
Использование FULLTEXT индексации увеличит скорость поиска постов по заголовку. Сделайте следующее: откройте базу данных вашего сайта с помощью страницы phpmyadmin войдите в базу данных вашего сайта найдите таблицу «wp_posts» нажмите вкладку «Структура» найдите поле «post_title» найдите справа и нажмите «Подробнее» -> «Полный текст» во всплывающем окне нажмите ОК и подожди… подробнее
Пример такой колонки вы можете увидеть на этой странице: https://demo.posts-table.com/audio-referrals/. Далее: Откройте файл functions.php текущей темы WordPress. Добавьте следующий код:
|
add_action('tableon_profile_extend', function($profile, $action_name) { if ($action_name === 'tableon_default_tables') { //for https://demo.posts-table.com/audio-referrals/ $profile['sound_options'] = [ 'title' => 'Sound options', 'order' => FALSE, 'action' => function($post_id) { return do_shortcode("[tableon_single_btn id={$post_id} button_text='Options' columns='sound_bitrate,sound_duration,sound_year,sound_artist,sound_info' css_class='tableon-btn' help_title='How to add column Options' help_link='https://posts-table.com/how-to-add-column-with-custom-meta-fields-in-popup/']"); } ]; } return $profile; }, 10, 2); |
Зарегистрируйте необходимые мета-поля в системе TABLEON по коду:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
//add custom meta fields not visible on TABLEON admin page to select it in sound options add_action('tableon_profile_extend', function($profile, $action_name) { $sound_keys = [ 'sound_bitrate' => 'Bitrate (kbps)', 'sound_duration' => 'Duration', 'sound_year' => 'Year', 'sound_artist' => 'Artist', 'sound_info' => 'Info', ]; foreach ($sound_keys as $key => $title) { $profile[$key] = [ 'title' => $title, 'order' => 'asc', 'display' => false, //do not display in fields list on TABLEON backend 'action' => function($post_id) use($key) { return get_post_meta($post_id, $key, true); } ]; } return $profile; }, 10, 2); |
В таблице, где вы хотите отобразить столбец «Параметры», создайте новый столбец, назовите его и выберите поле «Параметры звука»… подробнее
Да! Если содержимое ячейки является постоянным - можно использовать сгенерированный класс CSS, как на экране: hashXXXXXX Также каждая ячейка имеет класс CSS, зависящий от поля текущей ячейки таблицы Также ячейка таблицы имеет атрибуты данных: data-pid, data -key, поле данных
|
td[data-pid="13287"][data-key="price"]{ background: red; } td[data-pid="14281"][data-key="price"] { background: green; } |
Как вы можете видеть выше, использование двух атрибутов данных позволяет таргетировать… подробнее
Если использовать сортировку по мета-ключам - будут видны только посты, которые имеют какое-либо значение для выбранного ключа. Такое поведение является особенностью движка WordPress. Вот статья о том, как решить эту проблему: https://wordpress.stackexchange.com/questions/102447/sort-on-meta-value-but-include-posts-that-dont-have-one Просмотры сообщений: 18
Вы можете обернуть несколько шорткодов в свой собственный. Сделайте следующее: откройте файл functions.php текущей темы WordPress и отредактируйте там следующий код:
|
add_shortcode('my_tableon_1', function($args) { $user = wp_get_current_user(); if (in_array('administrator', $user->roles)) { return do_shortcode('[tableon id=23]'); } elseif (in_array('shop_manager', $user->roles)) { return do_shortcode('[tableon id=29]'); } else { return do_shortcode('[tableon columns="id,post_title,__price"]'); } }); |
вставьте шорткод [my_tableon_1] на страницу, которую вы хотите, также обратите внимание на $ args - вы можете создавать собственные атрибуты шорткода. Таким образом вы можете создавать различные пользовательские шорткоды… подробнее