用图像标签(图标)替换某些文本标签

时间:2014-09-21 11:49:31

标签: php wordpress-theming

这个问题被问到3 years ago

我运行一个wordpress网站,我想做的是用网站中的.png图像替换某些文本标签(家庭,档案,帖子,页面......)

是否有活跃的插件?如果没有,初学者最简单的方法是什么?

非常感谢。

1 个答案:

答案 0 :(得分:1)

如果它是默认的WP功能,它会很棒,但是,如果没有一些黑客攻击,它是不可能的。您可以通过插件或编写自定义函数来实现这一目标。

get_the_tags()开始,您可以将代码扩展到自定义函数,并在.php模板的任何位置调用它。以下方法意味着一些手动干预,例如使用精确标签slug重命名标签的图像图标,并将它们预先放置在预定义的目录中。

<?php
 $separator ='';
 $output = ''; //initialize clean output;
 $posttags = get_the_tags();
  if ($posttags) {
  $img_path = get_bloginfo('stylesheet_directory');
  foreach($posttags as $tag) {
  $image = 'tag_icon_' . $tag->slug . '.png';

  $link = get_tag_link( $tag->term_id);

  $output .= $separator . '<a href="' . $link . '">';
  $separator =' &nbsp | &nbsp '; // this adds a space between the icons; you can change it
  if(file_exists(STYLESHEETPATH.'/library/images/'.$image)) {
   $output .= '<img src="' . $img_path.'/library/images/'.$image . ' " class="tag_icon" alt="tag ' . $tag->name .' icon" />  '. $tag->name .'  ';
  } else {
  $output .= $tag->name;
  }
 $output .= '</a>';
  }
 echo $output;
  }
 ?>

调整/library/images/以反映主题的图片目录,并将整个代码粘贴到循环中。

if(file_exists(STYLESHEETPATH.'/library/images/'.$image)) {
  $output .= '<img src="' . $img_path.'/library/images/'.$image . ' " class="tag_icon" alt="tag ' . $tag->name .' icon" />  '. $tag->name .'  ';

另一种方法是试用一个插件,让您管理标签和类别的图像,但是您可能会找到满足您需求的完美插件,因此您仍然可以扩展插件的功能实现你想要的。

这是一个很棒的article,它帮助我根据图片标签构建了食物菜单成分列表。对于每个用例,您可以根据自己的期望调整教程。它帮助了我很多,也许你会发现它也很有用。

祝你好运。