WordPress 文章形式之: 链接

搜到一段好代码(这儿),实现了WordPress官方文档(这儿)所描述的功能:

链接(link) – 链接到其它网站的链接。主题可能会使用文章中的第一个 <a href=”"> 标签作为文章的外部链接。有可能有的文章至包含一个 URL,那么这个 URL 将会被使用;同时,文章标题(post_title)将会是附加到它的锚的名称。

2011-07-15补充,看2张截图:

link1

link2

到底实现了什么?到首页点击下“WordPress 文章形式之: 链接”吧,它的链接就是文章内第一个链接的链接!

放功能代码先:

 
<?php
 
	$content = get_the_content();
 
	$linktoend = stristr($content, "http" );
 
	$afterlink = stristr($linktoend, ">");
 
	if ( ! strlen( $afterlink ) == 0 ){
 
		$linkurl = substr($linktoend, 0, -(strlen($afterlink) + 1));
 
	}else{
 
		$linkurl = $linktoend;
 
	};
 
	if( $linkurl == '' ){
 
		$linkurl = get_permalink();
 
	}
 
?>
 
<a href="<?php echo $linkurl; ?>"><?php the_title(); ?></a>

上段代码直接放链接的文章形式循环之中,通过 $linkurl 调取。经过乱战式拼凑测试,也对原实现的功能做了一点改进:当链接的文章形式中没有链接(这不没事儿找事儿嘛!!!),显示默认文章的链接。

如此以来,在选择链接这个文章形式发布时,只需要填写好文章标题、内容,并且内容中有一个a标签的链接,轻松发文~这种形式相填写自定义域来得直接的多!

PSSSS:深夜码文我容易嘛我,不是明儿得回学校领证,擦擦,主机各种抽,蛋疼……

主机格调
  1. 深夜抢个沙发- -然后洗洗睡0 0

  2. 西门
    七月 15, 2011 01:13:1 #3

    原谅我,看了两遍还是没看懂什么意思

      • 西门
        七月 15, 2011 09:48:9

        不懂这功能到底有什么用,把标题换成文章内第一个链接。

        • 嗯,这功能有什么用?而且会导致访客点文章标题不进入文章页。

  3. 奇奇
    七月 15, 2011 08:44:8 #4

    我也木有看懂啊

    • 点击首页文章标题就明白了~

  4. 园子
    七月 15, 2011 09:10:9 #5

    深夜还在写

    真厉害。

  5. DaZuoo
    七月 15, 2011 09:14:9 #6

    问题是- -干嘛用的捏~

    • 折腾过文章形式明白些,没折腾过,这个我太跳跃了……

  6. Demon
    七月 15, 2011 09:16:9 #7

    最近主机好像抽的次数多了。

      • Demon
        七月 20, 2011 10:02:10

        我们一个机房的吧。

  7. Justice
    七月 15, 2011 10:13:10 #8

    建议先给 Post Format 做个整体的介绍,再讲具体形式…不然他们看不懂…因为多数读者应该不会去看官方介绍的…

    不过官方介绍写的也不太清楚..太偏技术了。要我说就是用户可以随手贴个地址起个名字,发布出来就能有一个排版漂亮的链接,省心。

    • 嗯,心急了,本来想一个个功能演示过来,顺便把相关实现的代码放出来~

  8. 貌似这个在虾子酱的付费主题iFancy也有。。。

    • 不知道他的主题是用哪儿种方法实习的~

  9. 小邪
    七月 15, 2011 10:39:10 #10

    wordpress 吸取了一些 Tumblr 的功能,强大性是没的说的。

    对了,这个可以直接用 if (has_post_format(‘link’)) 来判断的喔。

    • 小邪
      七月 15, 2011 14:01:14

      还有

      if ( has_post_format( ‘aside’ ))

      if (has_post_format(‘gallery’))

      这样的,o(* ̄▽ ̄*)ゞ。

    • 我是用 get_template_part( ‘content’, get_post_format() ) ,然后对应的就会调用 content-link.php 这个模板~

      • 小邪
        七月 16, 2011 11:04:11

        喔喔,是这样,o(* ̄▽ ̄*)ゞ。刚才木有看懂你的意思啦。

  10. Ben
    七月 15, 2011 11:23:11 #11

    我用 自定义栏目 来设置链接地址。

    • 这个不知道自定义的名,还得记……

      • Ben
        七月 15, 2011 23:03:23

        不是会自动记录吗(⊙_⊙) 第一次用后以后选择再填写就行。

        在‘链接’的内容里又加上链接觉得有些多余,比较喜欢像tumblr那样将链接和内容完全分开的。

        不过这个方法可以用在post-format里的image,调用第一张图片就省点力气了。

  11. Maplews
    七月 15, 2011 11:24:11 #12

    原来是这样…开始都不懂旁边那栏到底有什么用

  12. Maplews
    七月 15, 2011 11:37:11 #13

    木木你这段代码有点小问题..

    如果 http 链接的是img呢?

    我觉得第一次筛选应该是 <a 或者 href

    • 这个对于Post Format功能的界定吧~下篇我说明说明吧,我的理解

  13. Maplews
    七月 15, 2011 11:54:11 #14

    $linktoend = substr(stristr($content, “href=” ), 6, -1);

    $afterlink = stristr($linktoend, “>”);

    if ( ! strlen( $afterlink ) == 0 ){

    $linkurl = substr($linktoend, 0, -(strlen($afterlink) + 1));

    }else{

    $linkurl = $linktoend;

    };

    这样好像就可以了

  14. vaman
    七月 15, 2011 13:06:13 #16

    这个我就折腾不了,我就用默认的皮

  15. 这功能还真用不到~~~~

  16. 无冷
    七月 15, 2011 14:44:14 #18

    不错的想法,mark

    • 下个阶段这个 Post Format 肯定是折腾的一个方向了~

  17. 浩子
    七月 15, 2011 19:06:19 #19

    虾子酱那个主题已经用上了

  18. 主机放哪里呀?时不时无法显示啊。

  19. YesCola
    七月 19, 2011 13:22:13 #21

    前来学习加膜拜。这样的确方便很多~~ 我之前也正在考虑这个问题,木木大神一出手直接解决了…

  20. YesCola
    七月 19, 2011 13:25:13 #22

    不过这样也有一个不爽的地方就是如果是文章直接写的链接,比如WWW.XXXXXXXX.COM,感觉文章内的链接显示得有些多余 – -~~ 如果可以在当前主题下自动屏蔽首个链接我想会不会更好一些。

    另外目前WP官方还没有给出一个统一的完美方式,不同的主题有不同的链接输出写法对于以后换主题来说还是件很麻烦的事情。 悲·~~~

  21. 林木木不容易,主机也不容易哈

  22. 咋我博客没有这选项啊?

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">