获取附件的固定链接不起作用(_P)

时间:2013-02-25 作者:Paweł Skaba

我有以下代码

    <?php

      $args = array(
   \'post_type\' => \'attachment\',
   \'numberposts\' => 12,
   \'post_status\' => null
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {
           echo \'<li><a href="\'.get_permalink( $attachment->ID ).\'">\';
           echo wp_get_attachment_image( $attachment->ID, array(\'100\', \'100\') );
          echo \'</a></li>\';
          }
     }

?>
这个脚本的要点是显示最后添加的12张照片(拇指)。这很好用。但我想添加第二个功能-链接到它来自的页面(通常是嵌入到帖子/页面中的本地库)

问题是,在这种情况下,链接已损坏。它总是链接到第一篇帖子。我做错了什么?

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

问题是您需要查询Post状态null. 尝试将此设置为publishinherit, 因为get_permalink 是用于已发布项目的函数,而不是用于任何post状态。

这是因为永久链接到状态为draft 不应向用户显示。

SO网友:Paweł Skaba

最终版本

<?php

      $args = array(
   \'post_type\' => \'attachment\',
   \'numberposts\' => 12,
   \'post_status\' => null
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {
           $url = get_permalink( $attachment->ID );
          echo \'<li><a href="\'.strstr($url, \'/attachment\', true).\'">\';
           echo wp_get_attachment_image( $attachment->ID, array(\'100\', \'100\') );
          echo \'</a></li>\';       
          }
     }

?>
其中/附件是URL中不需要的所有内容。

结束

相关推荐

Taxonomy based permalinks

在我的网站上,我使用自己的分类法。我希望分类学与permalink相结合。因此,如果一个新闻页面有分类法,permalink就会改变。像这样:mysite。com/%custom\\u tax%/blog/%postname%,如果是一个页面,请点击:mysite。com/%custom\\u tax%/%postname%但如果没有我想要的分类法:mysite。com/blog/%postname%,如果它是一个页面:mysite。com/%postname%我怎样才能轻松地做到这一点?我已经设置了%c