0

我有一个 PHP while 循环如下:

<?php while (have_posts()) : the_post(); ?>

<li> 
<?php
    $args = array(
      'post_type' => 'attachment',
      'numberposts' => -1,
      'post_status' => null,
      'post_parent' => $post->ID,
      'orderby' => 'menu_order',
      'order' => 'ASC'
    ); 

    $attachments = get_posts($args);

    if ($attachments) {
      foreach ( $attachments as $attachment ) {
        $image_attributes = wp_get_attachment_image_src( $attachment->ID, large );
        $alt_text_title = $attachment->post_title ;
        //print_r($attachment); 

        echo "<img src=\"$image_attributes[0]\" alt=\"$alt_text_title\">";
        }
    }
?>
<h3><a href="http://<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php the_content(); ?>
</li>
<?php endwhile;?> 

h3 中的 a 标签使所有标题成为超链接,但是我希望其中一个标题不是链接,因此根本不受 a 标签的影响。

这可能吗?

4

4 回答 4

1

编辑。一种更安全的方法是通过帖子 ID 进行操作。

<?php $postID = $post->ID;

echo $postID; 
// You could delete this line once you have the PostID. 

if($postID == '1') { ?>
  <h3><?the_title();?></h3>
<?php } else { ?>
  <h3><a href="<?php the_permalink();?>" title="<?php the_title();?>"><?the_title();?></a></h3>
<?php } ?>
于 2012-10-24T12:23:08.543 回答
0

您始终可以the_title()使用 if 检查内容并仅在必要时显示 a 标签。

<?php if(the_title() === "your title") {?>
    <h3><?php the_title(); ?></h3>
<?php } else {?>
    <h3><a href="http://<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php } ?>
于 2012-10-24T12:24:23.240 回答
0
$title=get_the_title();
if( /*post meets some condition*/) {
  ?><h3>$title</h3><?php
} else {
  ?><h3><a href="http://<?php the_title(); ?>"><?php the_title(); ?></a></h3><?php
}
于 2012-10-24T12:24:37.607 回答
0

你只需要一个简单的 if 语句。您可以在示例中的任意数量的事物上构建条件,使用完整的标题,但使用帖子的 id 或类似的东西可能会更好:

<?php if('Ignore this title' == get_the_title()): ?>
  <h3><?php the_title() ?></h3>
<?php else: ?>
  <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php endif; ?>
于 2012-10-24T12:25:16.727 回答