2011-05-24 89 views
1

我想要使用2个变量获得链接,但输出是链接和标题,但没有出现html/clickable链接。PHP语法问题

我得到的东西此链接:

http://www.mydomain.com/post1/post_title_here

下面是代码:

echo '<a href="'.the_permalink().'">'.the_title().'</a>'; 

谁能帮助吗?

感谢

UPDATE:

这里是整个代码块:

<div id="MyBlock1"> 
     <?php 
      $query = new WP_Query('posts_per_page=5'); 

      while($query ->have_posts()) : $query ->the_post(); 
       echo '<li>'; 
       echo '<a href="'.the_permalink().'">'.the_title().'</a>'; 
       echo '</li>'; 
      endwhile; 

      wp_reset_postdata(); 

     ?> 
    </div> 
+1

代码对我来说很好。什么是呈现? 'the_permalink()'的返回值是多少? – 2011-05-24 15:47:28

+0

粘贴永久链接函数中的代码,以便我们知道它返回的内容 – amosrivera 2011-05-24 15:48:16

+0

the_permalink()包含链接。例如:http://www.mydomain.com/post1/ – Satch3000 2011-05-24 15:49:16

回答

5

这是因为见codex reference wordpress函数the_permalink()the_title()显示已经不需要回显的相应结果。如果您想要返回值的函数,则必须使用get_permalink()get_the_title()

因此,无论做:

<div id="MyBlock1"> 
    <?php 
     $query = new WP_Query('posts_per_page=5'); 
     while($query ->have_posts()) : $query ->the_post(); 
      echo '<li>'; 
      echo '<a href="'.get_permalink().'">'.get_the_title().'</a>'; 
      echo '</li>'; 
     endwhile; 
     wp_reset_postdata(); 
    ?> 
</div> 

<div id="MyBlock1"> 
    <?php 
     $query = new WP_Query('posts_per_page=5'); 
     while($query ->have_posts()) : $query ->the_post(); 
      echo '<li><a href="'; 
      the_permalink(); 
      echo '">'; 
      the_title(); 
      echo '</a></li>'; 
     endwhile; 
     wp_reset_postdata(); 
    ?> 
</div> 

双方将合作。

0

你需要绝对确保.the_title().是肯定bieng设置的值。如果不是,那么将不会显示HTML,因为锚标记没有文本。只是一个想法(我已经做了很多次,尝试print_f();荷兰国际集团的the_title()希望它帮助

+0

这两个变量都是返回值。 – Satch3000 2011-05-24 15:56:32

2

下面是用于调试的清单:。

1)是the_title()返回一个空字符串? (你可以通过查看HTML源代码来查看)

2.)你是否在身体标签内回显了这个内容?

3.)这是在一个隐藏的HTML元素回声?

+0

1.是的。是的。 3.第 – Satch3000 2011-05-24 15:55:45

2
echo '<a href="'.the_permalink().'">'.the_title().'</a>'; 

在这种情况下,你需要使用get_permalink而不是the_permalinkget_the_title而不是the_title

echo '<a href="'.get_permalink().'">'.get_the_title().'</a>'; 

WordPress的the_*功能直接做echo通话,而get_*函数返回,您可以使用作进一步处理,就像你在做串联的值。

(也注意到不一致的命名约定 - 这可能是一个痛苦)

2

您可以使用相应的get_ *版本:

echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a>'; 

更多

+0

它实际上是'get_the_title'。 – ceejayoz 2011-05-24 15:53:54

+0

@ceejayoz:哎呀,你说得对,谢谢。更新。 – 2011-05-24 15:56:14