当前位置: 首页 > 知识库问答 >
问题:

我的逻辑错了吗?试图将类别中的Wordpress最新帖子显示到页面

公孙驰
2023-03-14

我正在处理的代码驻留在一个二十七岁的儿童主题中,在content-front-page.php.我试图以某种方式显示每个类别(我有三个类别)中最近帖子的特色图像。如下所示:

最初,在每个彩色块中。我在php块中有这样一个代码:

        $recentport = new WP_Query(array('category_name' => 'ports-and-terminals', 'numberposts'=> 1, 'posts_per_page'=> 1));

        while($recentport->have_posts()): $recentport->the_post(); 
        $urlp = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' );
     ?>  
     <div style="height: 250px; position: relative">
         <div style="height:inherit; background: url('<?php echo $urlp;?>'); background-size:cover; "> <!--i-->
         <div id="img-overlay" style="height: inherit; background: linear-gradient(#0000ff, #000066); opacity: .7;">
         </div>

             <span class="feat-title-link">
                <a href="<?php the_permalink(); ?>">
                  <?php the_title_limit(75, '...'); ?>
                </a>
             </span>

         </div>
       </div>
     <?php
        endwhile;
        wp_reset_postdata();
     ?>

那不是我想要的。我想保持布局在第一张图片。所以...我将一个色块中的代码更改为这个来测试:

$args = array('category_name' => 'ebusiness', 'numberposts'=>'1');
     $recentcust = wp_get_recent_posts($args);
     foreach( $recentcust as $post ){
      $linkid = get_permalink($post["ID"]); 
      $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail' );
      $thumb_url = $thumb_url[0];
    echo '<a href="' . $linkid . '">' .$post["post_title"].'</a>';
    echo (!empty($thumb_url)) ? $thumb_url : 'No thumb!';
    }
    wp_reset_query();       
    //$recentebiz = new WP_Query(array('category_name' => 'ebusiness', 'post_per_page'=>1));

    //while($recentebiz->have_posts()): $recentebiz->the_post(); 
    //$url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' );
  ?>  
   <div id="recentebiz-tile" style="background: url('<?php echo $thumb_url;?>');">
   </div>

以上代码不会填充每个类别中最近文章的特色图像。因此,我的问题。我的逻辑是:

  1. $args=array();:$args变量保存下一行的参数。
  2. $recentcust=wp\u get\u recent\u posts($args):$recentcust变量保存带有我的参数集的查询结果。
  3. foreach($recentcust as$post){}循环遍历结果,并将它们分成$post.
  4. foreach(){}循环中:$linkid=get\u permalink($post[“ID”]):$linkid是带有$post ID的链接。
  5. foreach(){}循环内:$thumb\u url=wp\u get\u attachment\u image\u src(get\u post\u thumbnail\u id($post-

但它没有显示它。我希望在每个代码块中显示特征图像。我知道我正在努力解决这个问题,但我想知道代码和Wordpress是如何工作的。我错过什么了吗?提前谢谢。

我使用的资源是为了产生以下代码:

  • Wordpress.org Codex:wp\u get\u recent\u post
  • Wordpress.org Codex:wp\u get\u attachment\u image\u src
  • StackOverflow问题答案
  • 还有一些人

共有3个答案

段干庆
2023-03-14

你可以像这样一次完成所有的事情。。。

<?php 
$args = array('category_name' => 'ebusiness', 'numberposts'=>'1');
$posts = get_posts( $args );
foreach($posts as $post) {
$thumbnail_url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), array('220','220'), true );
?>
<div style="height: 250px; position: relative">
 <div style="height:inherit; background: url('<?php echo $thumbnail_url[0];?>'); background-size:cover; "> <!--i-->
 <div id="img-overlay" style="height: inherit; background: linear-gradient(#0000ff, #000066); opacity: .7;">
 </div>

     <span class="feat-title-link">
        <a href="<?php get_permalink($post->ID); ?>">
          <?php echo wp_trim_words( $post->post_title, 5, '...' );?>
        </a>
     </span>

 </div>
</div>
<?php
}
?>
盖锦程
2023-03-14

在你的密码里

   $recentport = new WP_Query(array('category_name' => 'ports-and-terminals', 'numberposts'=> 1, 'posts_per_page'=> 1));

    while($recentport->have_posts()): $recentport->the_post(); 
    $urlp = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' );
 ?>  
 <div style="height: 250px; position: relative">
     <div style="height:inherit; background: url('<?php echo $urlp;?>'); background-size:cover; "> <!--i-->
     <div id="img-overlay" style="height: inherit; background: linear-gradient(#0000ff, #000066); opacity: .7;">
     </div>

         <span class="feat-title-link">
            <a href="<?php the_permalink(); ?>">
              <?php the_title_limit(75, '...'); ?>
            </a>
         </span>

     </div>
   </div>
 <?php
    endwhile;
    wp_reset_postdata();
 ?>

正如我所看到的,您将获得端口和终端的最新帖子,然后在HTML中显示它,while循环继续这样做。

我认为你应该做的是在收到最近的帖子后立即关闭循环。

幸弘扬
2023-03-14

我已经想通了…不知怎么的。为了将来的参考,我从这里得到了代码片段。然后将其更改为:

<?php 
$args = array('category_name' => 'ebusiness', 'numberposts'=>'1');

$posts = get_posts( $args );

foreach($posts as $post) {
$thumbnail_url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), array('220','220'), true );
$thumbnail_url = $thumbnail_url[0];
echo ( !empty($thumbnail_url) ) ? $thumbnail_url : 'No thumb!';
}
wp_reset_query();
?>

然后,我使用另一个Foreach循环在不同的查询中返回具有相同args参数的永久链接和文章标题。

我只是想在理解带回图片的功能方面得到帮助。我知道有更好的方法。现在只需要帮忙弄清楚。

 类似资料:
  • 问题是...当我点击编辑文章/编辑页面时,它试图打开http://localhost/site/wp-admin/post-108.php?post=286 我不记得我到底做了什么,但它一定是在我的IDE重构代码后开始的,当时我正在重命名模板文件。 没有邮政108。php在wp admin文件夹或我的主题文件夹中,但有帖子。php。我不知道它为什么要开108后。不存在的php。 注意:这是一个自定

  • 我发现了这个网站:http://www.jfletcherdesign.com. 我想复制一下主页上显示他所有帖子的特色图片的方式,以及当你点击你在特定帖子中深入查看的图片时显示的方式。我还想复制一下你是如何在一个类别中点击“前进”和“下一步”并将一个图像添加到相应的帖子中的。 有人能为我指出设置此功能的正确方向吗? 如果你能给我指出jQuery插件的话,我会得到额外的积分,该插件在他的分类页面上

  • 我是wordpress的新手,尝试使用钉板主题。我已经创建了不同的页面,我想在每个页面上显示属于一个类别的帖子。虽然,这似乎是一个相当常见的问题,但我仍然无法理解如何准确地做到这一点。 我假设我必须在某个地方编写此代码:- query_posts(category_name= 但是,我不知道我应该把它放在哪个文件/位置,如果我需要任何插件来工作。

  • 我已经使用代码设置了WordPress自定义帖子类型。我已经设法让自定义帖子显示在“归档”页面中,但如果我单击“归档”页面中的链接,WP无法找到单个帖子页面。 我想我可能对定制的post permalinks有问题。希望有人能帮我 functions.php 页面模板 要显示自定义帖子,我设置了一个带有WP查询的新页面模板: 页面模板代码似乎工作和所有自定义帖子显示预期但当我点击标题链接我得到一个

  • 我被困在一件事情上,我确信这件事情一定很简单,但却让我发疯。我在工作中被迫使用WordPress,我对它没有任何经验,到目前为止,我很难理解它是如何操作挂钩和过滤器的 我想要的非常简单: 我正在使用最新帖子块来显示用户写的帖子。除了我正在处理的页面将是网站版主的前端,版主必须查看“待定”状态的帖子,而不是“发布”状态的帖子。我在编辑器中找不到任何选项来更改它,所以我尝试设置一个钩子来更改“post

  • 我创建了一个名为制造商的自定义帖子类型,并添加了大量帖子和类别。单个帖子页面工作,但类别/存档页面不显示任何帖子。 制造商被分成不同的类别,我需要显示每个类别中所有帖子的存档。我去工厂的时候 http://localhost/category/manufactures/ge-speedtronic/ 这就是令人困惑的地方。我为自定义帖子类型“制造商”使用的类别也显示在我的其他自定义帖子类型和默认帖