Ответы в темах

Просмотр 15 ответов — с 16 по 30 (всего 40)
  • Сделал всё именно так, но снова — в классах блоков ничего не появляется. Присутствует только такое:
    <div id="menu-item-183" class="некий_класс_прописанный_в_меню_админки menu-item menu-item-type-post_type menu-item-object-page"><a title="Заголовок" href="https://мойсайт.ру/">Имя пункта меню</a></div>

    А в functions.php, у меня Walker, подсказанный Flector и Ваш фильтр. На всякий случай, сейчас он выглядит так:

    add_filter( 'nav_menu_css_class', 'special_nav_class', 10, 3 );
    function special_nav_class( $classes, $item, $args ) {
        if ( 'action-menu' === $args->theme_location ) {
            $classes[] = ' column fourth';
        }
    
        return $classes;
    }

    Вот этого «column fourth» я и ожидаю среди классов внутренних блоков меню «action-menu». Пока добился его появления лишь прописав в поле «CSS» пунктов меню админки. А хотелось бы всё запихнуть в functions.php, чтобы в одной корзине все яйца лежали, простигосподи.

    Что-то не выходит добиться от фильтра назначения класса в определённое меню. Я правильно понимаю, что вместо «primary-menu» нужно вписать имя моего меню, а вместо «btn» имя моего класса? И верно ли равенство со знаком из трёх «=»?

    Если что, в functions.php мои меню зарегистрированы так:

    register_nav_menus( array(
    		'menu-1' => esc_html__( 'Primary', 'bubel' ),
    		'footer-menu' => esc_html__( 'Secondary', 'bubel' ),
    		'action-menu' => esc_html__( 'action', 'bubel' ),
    	) );

    В фильтре я указывал «action» и «action-menu», и вводил два знака «=» вместо трёх, но результата не добился. Что я опять поломал?

    Друзяки, настиг ужас. Смотрите какая штука вылезла: с применением фильтра, который порекомендовал Denis Yanchevskiy, новый класс «your-custom-class» залез во внутренние пункты остальных меню. При этом им оказалось всё равно — «div» они или «li». Как бы конкретизировать данный фильтр только для того или иного меню? (а то у меня их три и я ещё не разогнался)

    А так-то всё работает, осталась лишь эта малость.

    Ура. Снова спасибо! Когда не догадываешься о существовании возможности, не знаешь — где и рыть.

    Ну вот. Чего бы я без друзяк делал? Спасибо! Это при том, что Стэк я тоже перемолотил, но очевидно — не тем пальцем.

    А для добавления стилей к каждому из внутренних блоков, можно использовать какой-нибудь аргумент или только через админку, включив «CSS» в Настройках Экрана?

    Flector, спасибо! Заработало. То есть «post_date» оказался как бы и не нужен? Или не сработает в принципе?

    Со склонениями была проблема, но решилась давно — примерно тем же способом, о котором расписано у Камы.

    Юрий, круто. Теперь все ссылки датированы не 29, а 23 марта :-))

    SeVlad, мне понравилось. А как применить? Меня хватило только на
    <?php echo date_i18n( get_option( 'date_format' ), strtotime( '11/15-1976' ) ); ?>

    Получил везде нынешнюю дату ))

    Сработало. Но по-странному: код вывел время, а не дату. Причём, одинаковую для каждой из ссылок. Я немного подправил, насколько хватило знаний:
    get_the_time('j F Y')

    Но результат оказался аналогичным — дата так же оказалась одной и той же, «29 марта 2017». Видимо по дате последнего поста из списка.

    Как жить?

    Друзяки, большое спасибо! Много узнал, ясно — где копать. Что до непосредственной задачи, то вот подошедшее решение:

    add_filter('navigation_markup_template', 'my_navigation_template', 10, 2 );
    function my_navigation_template( $template, $class ){
     return '
      <nav class="navigation %1$s" role="navigation">
        <div class="row clearfix">
          <div class="column full" title="%2$s">
            <div class="nav-links">%3$s</div>
          </div>
        </div>		
      </nav>    
     ';
    }
    • Ответ изменён 8 лет, 10 месяцев назад пользователем carbonady.

    Денис, спасибо. Я так понял, что этот фильтр для решения конкретной задачи по данному заголовку, либо по элементам данного типа. Но вопрос был о поиске более обобщённого решения — отлова и подмены блоков кода с теми или иными признаками — «начинается с …, оканчивается на …». При помощи регулярных ли выражений, встроенных ли инструментов Вордпресса.

    Есть такая возможность?

    Да, в общем-то для подобных задач.

    Денис, то есть «при встрече данного куска кода, он отныне будет проигнорирован»?

    Ап

    ураа

    Хостер повинился. Цитирую его отчёт, может многим пригодиться.

    «Глюк панели, как выяснилось.

    До обновления, в конфиге для указания пользователя и группы, под которым должен работать процесс „apache“, использовалась конструкция:
    „SuexecUserGroup user user“

    В обновленной версии используется другая конструкция:
    „AssignUserID user user“

    Поэтому, процесс „apache“ запускался под идентификаторами по-умолчанию: „apache:apache“. Именно поэтому, загрузка файла и работала, когда user менялся на apache.

    В конфиг домента добавлена (ISP Manager / WWW домены / Нужный домен) новая конструкция. Посмотреть можно, нажав кнопку „Конфиг“.

    Проверено — теперь файлы грузятся (пишутся, обновляются…), как через админку Вордпресса, так и по FTP».

    Как это реализуется на практике? Юзер «apache» в ISP Manager есть, ок. Но как его подрубить к FTP Ультраэдита?

    ***
    Кажется сработал вариант оставления Владельца папок прежним с одновременной сменой на них Группы.

    ISP Manager / Файловый менеджер / Выделяются нужные папки / Атрибуты / Владелец — юзер (тот, который лазит по ftp), Группа — apache, Рекурсивно — «Только сменить владельца» / Ок.

    Перезагрузка сервака не потребовалась. Теперь остаётся попробовать обновить какой-нибудь плаг. А редактирование пашет.

    ***
    Не, не получается полной победы. При попытке записи файла из интерфейса админки Вордпресса, в данном случае — добавлением нового языка перевода в плагине «Codestyling Localization», отказывается это делать и пишет «У вас нет прав для создания файла ‘/var/www/some_user/data/www/some.site/wp-content/plugins/wp-polls/wp-polls-ru_RU.po’».

    Ужс…

Просмотр 15 ответов — с 16 по 30 (всего 40)