Я хотел бы уменьшить размер шрифта в облаке тегов (по крайней мере, для тегов с более чем одним обращением). Я искал файл css, но ничего не нашел о размере шрифта в облаке тегов. Вы знаете, где поменять? (Ссылка www.veda-vit.de, на всякий случай.)

3
pradhana 25 Ноя 2016 в 23:28

2 ответа

Лучший ответ

WordPress определяет аргументы по умолчанию, которые настраивают облако тегов. Эти аргументы определены здесь, в кодексе. Обратите внимание, что вы можете указать наименьший и наибольший размер шрифта. По умолчанию установлено 22 с единицей pt.

Чтобы изменить это поведение по умолчанию, вам нужно зарегистрировать обратный вызов фильтра, предоставленного в WordPress Core.

Код

В этом примере я изменяю как самый маленький, так и самый большой размер шрифта. Вам нужно будет настроить его для вашей конкретной реализации:

add_filter( 'widget_tag_cloud_args', 'change_tag_cloud_font_sizes');
/**
 * Change the Tag Cloud's Font Sizes.
 *
 * @since 1.0.0
 *
 * @param array $args
 *
 * @return array
 */
function change_tag_cloud_font_sizes( array $args ) {
    $args['smallest'] = '10';
    $args['largest'] = '18';

    return $args;
}

Куда поместить код

Многие люди посоветуют вам добавить его в файл темы functions.php. Я не из таких людей. Я обучаю и защищаю модульный разработка тем и плагинов. Это означает, что файл темы functions.php не должен быть точкой сбора всего.

Тема functions.php

С учетом сказанного, вы можете добавить приведенный выше код в свой файл functions.php, если хотите.

Сделайте следующие шаги:

  1. Откройте файл functions.php вашей темы.
  2. Прокрутите вниз до самого низа файла.
  3. Если вы найдете закрывающий элемент тега PHP, то есть ?>, удалите его. Это необязательно.
  4. Скопируйте и вставьте приведенный выше код в файл (внизу файла).
  5. Сохраните файл.
  6. Если он находится на сервере, то передайте его по SSH или SFTP.

Модульный подход

Я выступаю за модульный подход, разделив функциональность и конфигурацию темы на отдельные, отдельные файлы, которые поддерживают одну цель.

В вашей теме должна быть папка под названием lib, includes или src. В этой папке вы размещаете файлы пользовательских функций.

В одной из этих папок создайте новый файл и назовите его widgets.php. В этом файле добавьте в первую строку следующий код:

<?php
/**
 * Widgets functionality
 *
 * @package     YourTheme
 * @since       1.0.0
 * @author      your name
 * @link        your URL
 * @license     GPL-2+
 */

Затем добавьте приведенный выше код под ним.

Теперь вам нужно загрузить этот файл. Откройте файл темы functions.php, перейдите в конец файла и добавьте следующий код:

include_once( __DIR__ . '/lib/widgets.php' );

Просто замените lib именем папки, в которую вы поместили новый файл.

НОТА

Размер шрифта устанавливается WordPress как встроенный CSS. Вы можете переопределить их, используя приведенный выше код. Не рекомендуется форсировать его через CSS с помощью !important. Позвольте WordPress сделать свое дело и просто установите min и max, как показано выше.

8
hellofromTonya 26 Ноя 2016 в 07:02

Поскольку мы не знаем, как реализовать свое облако тегов, css - не единственный способ его настройки. функция wp_tag_cloud () принимает массив аргументов

<?php $args = array(
    'smallest'                  => 8, 
    'largest'                   => 22,
    'unit'                      => 'pt', 
    'number'                    => 45,  
    'format'                    => 'flat',
    'separator'                 => "\n",
    'orderby'                   => 'name', 
    'order'                     => 'ASC',
    'exclude'                   => null, 
    'include'                   => null, 
    'topic_count_text_callback' => default_topic_count_text,
    'link'                      => 'view', 
    'taxonomy'                  => 'post_tag', 
    'echo'                      => true,
    'child_of'                  => null, // see Note!
); ?>

Если вы хотите изменить поведение по умолчанию, не касаясь какого-либо файла шаблона, вы можете использовать фильтр wp_tag_cloud в functions.php,

add_filter('wp_tag_cloud', 'se_40811909', 10, 2);

function se_40811909($return, $args){

  // copy and modify $args to fit your needs

 // $args = array(.....);

 return $args;

}

Вы можете увидеть все подробности о них здесь

2
Benoti 25 Ноя 2016 в 21:06