编程语言
首页 > 编程语言> > php-WordPress Archives Widget-自定义html输出

php-WordPress Archives Widget-自定义html输出

作者:互联网

看来,我仍然反对wordpress.我在侧边栏中添加了小部件“存档”,并且html输出是废话,它基本上具有以下结构:

<li><a href="somelink">text</a> - (# of posts)</li>

我想将其转换为:

<li><a href="somelink">text <small># of posts</small></a>

但是与插件不同,我无法在wordpress社区建议/提及的php页面中找到创建html输出的行,即functions.php,widgets.php和default-widgets.php.

我已在此问题上搜索了每种可能的关键字组合,但找不到相关的内容.

感谢所有帮助

问候

卡波斯

解决方法:

查看general-template.php.两个函数wp_get_archives和get_archives_link.您必须修改wp_get_archives才能更改在$text中加载的内容.发布计数被加载到$after变量中,该变量位于get_archives_link中的链接之外.代替这个:

$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
if ( $show_post_count )
   $after = '&nbsp;('.$arcresult->posts.')' . $afterafter;

像这样的东西:

$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
if ( $show_post_count )
   $text= $text.'&nbsp;<small>'.$arcresult->posts.'</small>';

那只是用于每月存档.您必须在“年度”,“每周”和“每日”块上进行修改.

编辑:排除< small>的最简单方法链接标题中的元素是将其加载到每个块中的单独变量中,然后将其传递到修改后的get_archives_link中.在上面的示例中,在$text被加载之后,只需将该值加载到$title中:

$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
$title = $text;
if ( $show_post_count )
   $text= $text.'&nbsp;<small>'.$arcresult->posts.'</small>';
$output .= get_archives_link($url, $text, $format, $before, $after, $title);

然后修改get_archives_link:

function get_archives_link($url, $text, $format = 'html', $before = '', $after = '', $title = '') {
    $text = wptexturize($text);

    if($title == '')
        $title = $text;

    $title_text = esc_attr($title);
    $url = esc_url($url);

    if ('link' == $format)
        $link_html = "\t<link rel='archives' title='$title_text' href='$url' />\n";
    elseif ('option' == $format)
        $link_html = "\t<option value='$url'>$before $text $after</option>\n";
    elseif ('html' == $format)
        $link_html = "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n";
    else // custom
        $link_html = "\t$before<a href='$url' title='$title_text'>$text</a>$after\n";

    $link_html = apply_filters( "get_archives_link", $link_html );

    return $link_html;
}

标签:widget,customization,wordpress,php
来源: https://codeday.me/bug/20191208/2093518.html