0

我正在尝试使用常规 wp_query 列出帖子标题,只是为了将永久链接添加到项目的 a href,这是我正在使用的代码:

    <?php $the_query = new WP_Query( 'post_type=artworks_post' );
        // The Loop
        while ( $the_query->have_posts() ) : $the_query->the_post();
            echo '<a rel="' .the_permalink(). '" href="' .the_permalink. ' ">';
            the_title();
            echo '</a>';
        endwhile;

        // Reset Post Data
        wp_reset_postdata();
    ?> 

问题是代码不起作用,它只返回带有“永久链接”一词的a href,但没有链接本身。

我在这里做错了什么?

4

3 回答 3

8

尝试使用 get_permalink 而不是 the_permalink。函数 the_permalink 正在打印永久链接本身 (http://codex.wordpress.org/Function_Reference/the_permalink),但函数 get_permalink 返回永久链接字符串 (http://codex.wordpress.org/Function_Reference/get_permalink)。

无论如何只是一个建议,使用 printf 而不是 echo。如,

<?php $the_query = new WP_Query( 'post_type=artworks_post' );
    // The Loop
    while ( $the_query->have_posts() ) : $the_query->the_post();
        echo '<a rel="' .the_permalink(). '" href="' .the_permalink. ' ">';
        the_title();
        echo '</a>';
    endwhile;

    // Reset Post Data
    wp_reset_postdata();
?> 

根据要求,我使用 echo 而不是 printf 添加示例

<?php
    $the_query = new WP_Query( 'post_type=artworks_post' );
    // The Loop
    while ( $the_query->have_posts() ) : $the_query->the_post();
        echo '<a rel="' .get_permalink(). '" href="' .get_permalink(). ' ">';
        the_title();
        echo '</a>';
    endwhile;

    // Reset Post Data
    wp_reset_postdata();
?> 
于 2012-10-21T12:28:11.057 回答
1

你错过了括号;

         echo '<a rel="' .the_permalink(). '" href="' .the_permalink(). ' ">';
        the_title();
        echo '</a>';
于 2012-10-21T12:25:21.793 回答
1

您使用the_permalink而不是the_permalink()after href

但是,您应该使用的是get_permalink(),它返回值以供您使用,echo而不是echo立即使用它。

于 2012-10-21T12:25:37.150 回答