对于每个帖子一个链接的图像,在主页上使用永久链接覆盖该链接

时间:2014-05-07 作者:TecBrat

是否有一个现有插件允许用户在帖子中在图片上添加链接,但当帖子显示为主页列表的一部分时,将该图片链接改为指向帖子的永久链接。

如果没有,你能给我指出一个正确的方向,让我自己定制这个代码吗?(要编辑哪些文件,已经存在哪些可能对我有帮助的WP函数…)我对函数式/过程式PHP有很好的掌握,但对编辑WP代码只有一点点经验。

我正在使用WordPress 3.9和主题“二十个十”

请随意重新标记此问题。我对WP或WP不够熟悉。SE了解哪些标签是最好的。

1 个回复
最合适的回答,由SO网友:TecBrat 整理而成

我的解决方案是在二十个主题文件夹中工作,即文件“loop.php”

在145号线附近,我这样做了:

<?php $content = get_the_content( __( \'Continue reading <span class="meta-nav">&rarr;</span>\', \'twentyten\' ) );
  // http://stackoverflow.com/a/6366390/1195835
  // http://stackoverflow.com/a/11886237/1195835
  // http://stackoverflow.com/a/15469353/1195835
  $doc = new DOMDocument();
  $doc->loadHTML($content);
  $finder = new DomXPath($doc);
  $classname = "post-main-image";
  $nodes = $finder->query("//*[contains(concat(\' \', normalize-space(@class), \' \'), \' $classname \')]");      
  foreach($nodes as $node){
   $node->setAttribute(\'href\',get_the_permalink());
  }
  echo $doc->saveHTML();
?>
然后在编辑帖子屏幕中,我只需在“Link CSS Class”表单字段中键入“post main image”并进行更新。我希望其他主题也能有类似的效果。

结束

相关推荐

Custom permalinks structure

我希望有这样的结构:www.mysite.com/2013 (必须显示2013年的所有职位)www.mysite.com/my-category/2013 (必须显示2013年和“我的类别”类别的所有帖子)www.mysite.com/my-category/my-tag/ (必须显示所有类别为“我的类别”和标记为“我的标记”的帖子)www.mysite.com/my-category/ (必须显示“我的类别”类别的所有帖子)www.mysite.com/my-