【问题标题】:change the font size in tag cloud更改标签云中的字体大小
【发布时间】:2016-11-25 20:28:35
【问题描述】:

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

【问题讨论】:

    标签: wordpress tag-cloud


    【解决方案1】:

    WordPress 定义了配置标签云的默认参数。这些参数定义为here in codex。请注意,您可以指定最小和最大的字体大小。默认设置为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 文件中。我不是那些人中的一员。我教授和倡导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 做它的事情,只需设置最小值和最大值,如上所示。

    【讨论】:

    • 感谢您的回答。老实说,我不是很明白。 (对不起,我是新手。)上面的代码需要在哪里添加或更改?
    • @pradhana 我修改了我的答案,包括将代码放在哪里。我给了你两个选择。您可以选择最适合您的。
    • 太棒了!!! :) 非常感谢,你好,来自Tonya。祝你一切安好。问候,pradhana。
    【解决方案2】:

    由于我们不知道您是如何实现标签云的,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;
    
    }
    

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

    【讨论】:

    • 感谢您的回答,贝诺蒂。我解决了这个问题。 ;)
    猜你喜欢
    • 2015-10-27
    • 2019-09-11
    • 2017-08-05
    • 2022-09-28
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多