更改标签云中的字体大小

change the font size in tag cloud

我想减小标签云中的字体大小(至少对于点击次数超过一次的标签)。我正在查看 css 文件,但在标签云中找不到任何关于字体大小的信息。你知道在哪里改变吗? (link 是 www.veda-vit.de,以备不时之需。)

WordPress 定义了配置标签云的默认参数。这些参数定义为 here in codex。请注意,您可以指定最小和最大的字体大小。默认设置为22,单位为pt.

要更改此默认行为,您需要注册一个回调到 WordPress 核心中提供的过滤器。

代码

在这个例子中,我改变了最小和最大的字体大小。您将需要针对您的具体实施进行调整:

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 文件中。我不是那些人中的一员。我教授和提倡 modular 主题和插件开发。这意味着主题的 functions.php 文件不应该是所有内容的集合点。

主题functions.php

话虽如此,如果您愿意,您可以将以上代码添加到您的 functions.php 文件中。

执行以下步骤:

  1. 打开主题的 functions.php 文件。
  2. 向下滚动到文件的最底部。
  3. 如果找到结束 PHP 标记元素,即 ?>,请将其删除。没必要。
  4. 将以上代码复制并粘贴到文件中(在文件底部)。
  5. 保存文件。
  6. 如果它在服务器上,则通过 SSH 或 SFTP 传输它。

模块化方法

我提倡 modular approach,将功能和主题配置拆分为支持单一用途的单独、不同的文件。

第 1 步:查找文件夹

在您的主题中,您应该有一个名为 libincludessrc 的文件夹。此文件夹是放置自定义功能文件的地方。

第 2 步:创建新文件

在其中一个文件夹中,创建一个新文件并将其命名为 widgets.php。在此文件中,在第一行添加以下代码:

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

然后在下面添加上面的代码。

第 3 步:加载文件

现在您需要加载该文件。打开主题的 functions.php 文件,导航到文件末尾,然后添加以下代码:

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

只需将 lib 替换为您将新文件放入的文件夹的名称。

注意

WordPress 将字体大小设置为内联 CSS。您可以使用上面的代码覆盖那些。不建议通过 CSS 和 !important 强制它。让 WordPress 做它的事,只需设置最小值和最大值,如上所示。

由于我们不知道您如何实施标签云,因此 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!
); ?>

如果您想在不触及任何模板文件的情况下修改默认行为,您可以在functions.php、

中使用过滤器wp_tag_cloud
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;

}

您可以查看有关它们的所有详细信息here