Есть ли в любом случае использовать colspan на do_settings_fields в WordPress - PullRequest
0 голосов
/ 23 февраля 2019

На моей странице настроек WordPress, для создания полей я использую следующие коды:

$sections['helper'] = array(
    'title' => '<span>' . __('Help', 'ngin') . '</span>',
    'menu_title' => __('Help', 'ngin'),
    'icon' => 'fa-help',
    'fields' => array(
        array(
            // Field name: usually not used
            'type' => 'custom_html',
            // HTML content
            'std'  => '<div class="alert alert-warning">This is a custom HTML content.</div>',
            'desc' => __('This is custom HTML example.', 'ngin'), 
            // PHP function to show custom HTML
            // 'callback' => 'display_warning',
        ),
    ),
);

Позже я использую do_settings_sections($idx.'_section');, и эта функция использует do_settings_fields функцию, которую вы видите: do_settings_sections (string $ page) примерно так:

echo '<table class="form-table">';
do_settings_fields( $page, $section['id'] );
echo '</table>';

Наконец, он генерирует такой код:

<table class="form-table">
<tr>
    <th scope="row">Header 1</th>
    <td>
        <div class="alert alert-warning">Content 1</div>
    </td>
</tr>
<tr>
    <th scope="row">Header 2</th>
    <td>
        <div class="alert alert-warning">Content 2</div>
    </td>
</tr>
<tr>
    <th scope="row">Header 3</th>
    <td>
        <div class="alert alert-warning">Content 3</div>
    </td>
</tr>
<tr>
    <th scope="row">Header 4</th>
    <td>
        <div class="alert alert-warning">Content 4</div>
    </td>
</tr>
</table>

Я хочу использовать первый Content div с полной шириной, и яне хочу видеть <th scope="row">Header 1</th>.Но я не знаю, как?

1 Ответ

0 голосов
/ 23 февраля 2019

Я думаю, что вы используете Fluent Framework .Мы можем видеть это при использовании custom_html.Эта структура использует поля для создания страниц параметров, мета-блоков, мета-таксономии и т. Д. С другой стороны, я не думаю, что мы можем изменить scope = "row", не прерывая WordPress Core и не используя JavaScript.Не мешайте WordPress Core.Это определенно не рекомендуется.

Теперь создайте файл javascript в каталог fields/custom_html и скройте scope с помощью jQuery следующим образом:

jQuery(document).ready(function()
{
    jQuery('th[scope="row"]').first().hide();
});

Поставьте файл javascript в очередь следующим образом:

wp_enqueue_script('custom-html-js', PATH.'fields/custom_html/custom_html.js', array('jquery'), time(),  true);

Это будет скрывать ячейку scope = "row" при загрузке страницы.Конечно, вы можете использовать jQuery.each, если хотите скрыть все scope = "row" клетки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...