使用_perMalink将HREF回显到<li>

时间:2016-01-21 作者:mrben522

我正在尝试制作一个菜单,从我的自定义帖子类型中自动填充,如果有人能给我指出正确的方向,我将不胜感激。这是代码。中的PHP<img src> 正在提取正确的信息并将其粘贴到正确的位置,the_permalink 提取正确的url,但它会将url放在<li> 标记,而不是在href中。

<ul class="product-menu">
              <?php
              $products = new WP_Query(
                $args = array(
                  \'post_type\' => \'product\',
                  \'post_status\' => \'publish\',
                )
              );
              while ( $products->have_posts() ) {
                $products->the_post();
                $post_thumbnail_id = get_post_thumbnail_id();
                $post_thumbnail_url = wp_get_attachment_url( $post_thumbnail_id );
                echo 
                \'<li>
                  <a href="\' . the_permalink() . \'">
                    <img src="\' . $post_thumbnail_url . \'" alt="\' . get_the_title() . \'">
                  </a>
                </li>\';
              } 
              /* Restore original Post Data */
              wp_reset_postdata();?>
              </ul>

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

the_permalink() prints url,并且不返回任何内容,您应该使用get_the_permalink() 函数,其中returns 当前帖子url。

SO网友:Chris Morris

您使用的是回声输出的\\u permalink,因此您以回声输出。您希望sue get\\u the\\u permalink返回url,然后可以将url回传到代码中。大多数wordpress函数以“\\uDirect echo out”开头,以“get\\u1”返回结果。

这应该对你有用。我还使用了\\u post\\u缩略图显示wordpress格式的缩略图图像,并使用超链接更新问题。

<ul class="product-menu">
    <?php

    $args = array(
        \'post_type\' => \'product\',
        \'post_status\' => \'publish\',
    )

    $products = new WP_Query($args);

    while ( $products->have_posts() ) {
        $products->the_post();

        echo \'<li><a href="\' . get_the_permalink() . \'">\';

        // check if the post has a Post Thumbnail assigned to it.
        if ( has_post_thumbnail() ) {
            the_post_thumbnail();
        }

        echo \'</a></li>\';
    } 
    /* Restore original Post Data */
    wp_reset_postdata();

    ?>
</ul>