$Attach->POST_TITLE不显示标题

时间:2013-07-28 作者:UzumakiDev

我有一小块php。

$attr = array(
            \'class\' => \'bigImg\',
            \'alt\' => trim(strip_tags( $attachment->post_excerpt )),
            \'title\' => trim(strip_tags( $attachment->post_title )) );
我在html中有以下内容:

<?php echo the_post_thumbnail( \'featured\', $attr ); ?>
你可能已经猜到了,我想从帖子中输出alt和title,但它似乎没有这样做。以下是输出:

<img width="1081" height="608" src="http://lart.co.uk/wordpress/wp-content/uploads/2013/07/img4.jpg" class="bigImg wp-post-image" alt="" title="" /> 
那么为什么我没有标题和alt?

3 个回复
SO网友:Johannes Pille

1. the_post_thumbnail...

。。。是的包装器echo get_the_post_thumbnail. 因此echo 您使用的构造是多余的。这不是你问题的核心,但值得注意。

2. 空属性

在HTML输出中,属性为空,但它们是创建的。

这就得出了一个可能的结论,即罪魁祸首不是the_post_thumbnail, 但是$attr[\'alt\']$attr[\'title\'] 是空的。

如果是这样的话trim(strip_tags( $attachment->post_excerpt ))trim(strip_tags( $attachment->post_title )) 必须返回空字符串。

您可以通过两种方式验证(或证伪)该结论:

通过将静态字符串传递给$attr 阵列
是否正在填充属性<这意味着该功能可以正常工作var_dump( trim(strip_tags( $attachment->post_title )) );<我冒昧地猜测这将输出string(0) ""

3. WP_DEBUG

开发时,将该常数设置为true
它既可以帮助您个人,也可以让您在寻求帮助时提供相关信息。

SO网友:pixeline

问题是:在哪里$attachment 来自您的代码。

此外,我认为您正在寻找wp_get_attachment_image() 函数,以便能够访问图像属性值。

检查此示例,摘自Codex:

$args = array(
   \'post_type\' => \'attachment\',
   \'numberposts\' => -1,
   \'post_status\' => null,
   \'post_parent\' => $post->ID
  );

  $attachments = get_posts( $args ); // gets all images attached to the post
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {
           echo \'<li>\';
           echo wp_get_attachment_image( $attachment->ID, \'full\' );
           echo \'<p>\';
           echo apply_filters( \'the_title\', $attachment->post_title );
           echo \'</p></li>\';
          }
     }

SO网友:Biranit Goren

Wordpress从3.5版起删除了图像标题。

我在我的主题函数中使用这些函数。php将其带回:

add_filter( \'media_send_to_editor\', \'rgbtoi_restore_image_title\', 15, 2 );
function rgbtoi_restore_image_title( $html, $id ) {
    $attachment = get_post($id);
    if (strpos($html, "title=")) {
        return $html;
    } else {
        $mytitle = esc_attr($attachment->post_title);
        return str_replace(\'<img\', \'<img title="\' . $mytitle . \'" \'  , $html);      
    }
}
add_filter(\'wp_get_attachment_image_attributes\',\'rgbtoi_image_titles\', 10, 2);
function rgbtoi_image_titles($atts,$img) {
    $atts[\'title\'] = trim(strip_tags( $img->post_title ));
    return $atts;
}

结束

相关推荐

使用WP_QUERY或QUERY_POSTS()或GET_POSTS()来优化站点?

我已经阅读了其他答案,但我不知道哪一个更快(对于运行缓慢的服务器来说是最好和最简单的)?我有一个每天点击量超过100万次的网站,服务器速度慢,数据库连接有限,所以我想优化我的网站。您建议我使用什么:WP\\u Query或Query\\u posts()或get\\u posts()?如果我想在不同的位置以不同的样式显示文章,我可以在我显示的每一篇文章上重复函数[WP\\u Query or Query\\u posts()或get\\u posts()],还是最好使用一次,如果$I==1,2,3用于不同