Php Wordpress存档小部件-自定义html输出
看来我仍然反对wordpress。我将小部件“归档”添加到侧边栏,再次,html输出是垃圾,它基本上具有以下结构:Php Wordpress存档小部件-自定义html输出,php,wordpress,widget,customization,Php,Wordpress,Widget,Customization,看来我仍然反对wordpress。我将小部件“归档”添加到侧边栏,再次,html输出是垃圾,它基本上具有以下结构: <li><a href="somelink">text</a> - (# of posts)</li> -(#职位) 我想把它转换成: <li><a href="somelink">text <small># of posts</small></a> 然而,与插件不
<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
我在谷歌上搜索了关于这个问题的所有可能的关键词组合,但我找不到相关的东西
谢谢你的帮助
问候
G.Campos查看general-template.php。两个函数wp_get_archives和get_archives_link。您必须破解wp_get_归档文件,以更改$text中加载的内容。post计数被加载到$after变量中,该变量位于get_archives_链接的链接外部。与此相反:
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
if ( $show_post_count )
$after = ' ('.$arcresult->posts.')' . $afterafter;
大概是这样的:
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
if ( $show_post_count )
$text= $text.' <small>'.$arcresult->posts.'</small>';
$text=sprintf(uuuu(“%1$s%2$d”),$wp\u locale->get\u month($arcsresult->month),$arcsresult->year);
如果($show\u post\u count)
$text=$text.'.$arcsresult->posts.';
这只是每月的档案。您必须对年度、每周和每日块进行修改
编辑:从链接标题中排除
元素的最简单方法是将其加载到每个块中的单独变量中,然后将其传递到修改后的get\u archives\u链接中。在上面的示例中,在加载$text之后,只需将该值加载到$title中:
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
$title = $text;
if ( $show_post_count )
$text= $text.' <small>'.$arcresult->posts.'</small>';
$output .= get_archives_link($url, $text, $format, $before, $after, $title);
$text=sprintf(uuuu(“%1$s%2$d”),$wp\u locale->get\u month($arcsresult->month),$arcsresult->year);
$title=$text;
如果($show\u post\u count)
$text=$text.'.$arcsresult->posts.';
$output.=get_archives_link($url、$text、$format、$before、$after、$title);
然后修改get_archives_链接:
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;
}
function get_archives_link($url,$text,$format='html',$before='',$after='',$title=''){
$text=wptexturize($text);
如果($title='')
$title=$text;
$title\u text=esc\u attr($title);
$url=esc_url($url);
如果('link'=$format)
$link_html=“\t\n”;
elseif('option'=$format)
$link_html=“\t$before$text$after\n”;
elseif('html'=$format)
$link\u html=“\t$before$after \n”;
else//定制
$link_html=“\t$before$after\n”;
$link\u html=apply\u过滤器(“get\u archives\u link”,$link\u html);
返回$link_html;
}
将此代码添加到主题functions.php文件中,它会将后期存档计数包装在span标记中。在下面的代码示例中,我将计数包装在span标记中,您可以根据需要添加或修改它
function wrap_archive_count($links) {
$links = str_replace('</a> (', '<span class="archive-count">', $links);
$links = str_replace(')', '</span></a>', $links);
return $links;
}
add_filter('get_archives_link', 'wrap_archive_count');
function wrap\u archive\u count($links){
$links=str_replace(“(”,“$links”);
$links=str_replace('),'$links);
返回$links;
}
添加过滤器(“获取存档链接”、“包装存档计数”);
优秀的员工Andrew工作得很好。不过,我只有一个问题。标记正在其标题属性中包含标记。换句话说,如果我把光标放在(链接)上,我不仅会得到相关的信息,比如2011年2月-6篇文章,而且还有标签把事情搞砸了:“2011年2月-6篇文章”。如何删除在's title=”“属性中提到的标签?唯一的“重大”问题是整个黑客攻击的核心部分。在更新过程中,您将丢失所有编辑。目前正在寻找一个过滤器挂钩解决方案(但看起来很黯淡)。我知道这是一个老帖子,但如果我找到什么,我会把它放在这里。