显示特色图像时出现问题

时间:2014-05-31 作者:S.k.joy

我使用下面的代码在单个帖子内容中显示特色图像。它工作得很好。但是当我调用\\u摘录()时;在任何模板中,它都会显示带有帖子内容的特色图像。我希望它只显示单篇文章的特色图片。请帮忙!

add_filter( \'the_content\', \'put_thumbnail_in_posting\' ); 
function put_thumbnail_in_posting($content) { 
    global $post; 
    if ( has_post_thumbnail() && ( $post->post_type == \'post\' ) ) {
        the_post_thumbnail( \'\',
            array(
                \'style\' => \'padding: 6px;
                margin-bottom: 8px;
                margin-right: 8px;
                max-width: 100%;
                border: 1px solid rgb(204, 204, 204);
                background: none repeat scroll 0% 0% rgb(238, 238, 238);\'
            )
        );
    }

    return $content;
}

3 个回复
SO网友:TheDeadMedic

使用is_single() 条件以确保未在存档页上添加缩略图。您还应该使用get_the_post_thumbnail 并将其预先设置为$content, 而不仅仅是呼应:

function put_thumbnail_in_posting( $content ) { 
    if ( is_single() && has_post_thumbnail() && get_post_type() == \'post\' ) {
        $thumbnail = get_the_post_thumbnail( null, \'\',
            array(
                \'style\' => implode( \' \',
                    array(
                        \'padding: 6px;\',
                        \'margin-bottom: 8px;\',
                        \'margin-right: 8px;\',
                        \'max-width: 100%;\',
                        \'border: 1px solid rgb(204, 204, 204);\',
                        \'background: none repeat scroll 0% 0% rgb(238, 238, 238);\',
                    )
                )
            )
        );

        $content = $thumbnail . $content;
    }

    return $content;
}

SO网友:Brad Dalton

 add_filter( \'the_content\', \'put_thumbnail_in_posting\' ); 
 function put_thumbnail_in_posting( $content ) { 
    if ( is_singular(\'post\') && is_main_query() && has_post_thumbnail()) {
        $thumbnail = get_the_post_thumbnail( null, \'\',
            array(
                \'style\' => implode( \' \',
                    array(
                        \'padding: 6px;\',
                        \'margin-bottom: 8px;\',
                        \'margin-right: 8px;\',
                        \'max-width: 100%;\',
                        \'border: 1px solid rgb(204, 204, 204);\',
                        \'background: none repeat scroll 0% 0% rgb(238, 238, 238);\',
                    )
                )
            )
        );

        $content = $thumbnail . $content;
    }

    return $content;
}
此代码包括is_singular(\'post\') 条件标记,用于控制仅在单个帖子中显示特色图像。

the_content 钩子过滤\\u内容,gets the post thumbnail 如果已使用特色图像模块将内容添加到帖子中并显示,则会在图像后添加内容。

您可以对其进行不同的编码,还可以在您的子主题图像文件夹中添加一个后备功能图像,如果未手动添加图像,该文件夹将显示该图像。

 add_filter( \'the_content\', \'put_thumbnail_in_posting\' ); 
 function put_thumbnail_in_posting( $content ) { 
    if ( is_singular(\'post\') && is_main_query() && has_post_thumbnail()) {
        $thumbnail = get_the_post_thumbnail( null, \'\',
            array(
                \'style\' => implode( \' \',
                    array(
                        \'padding: 6px;\',
                        \'margin-bottom: 8px;\',
                        \'margin-right: 8px;\',
                        \'max-width: 100%;\',
                        \'border: 1px solid rgb(204, 204, 204);\',
                        \'background: none repeat scroll 0% 0% rgb(238, 238, 238);\',
                    )
                )
            )
        );

        $content = $thumbnail . $content;

        }

        else echo\'<img src="\' . get_stylesheet_directory_uri() . \'/images/fallback.jpg\' . \'" alt="" />\';

    return $content;
}
第二个代码块包括一个后备功能图像。

下面是另一种编码方法:

 add_filter( \'the_content\', \'featured_image_before_content\' ); 

 function featured_image_before_content( $content ) { 
    if ( is_singular(\'post\') && is_main_query() && has_post_thumbnail()) {
        $thumbnail = get_the_post_thumbnail();

        $content = $thumbnail . $content;

        }

    return $content;
}

SO网友:user52506

如果特征图像不工作。别担心,你可以下载这个plugin 安装并使用它。我很容易为你工作。访问了解更多信息tutorials about wordpress and seo

结束

相关推荐

New_excerpt_more链接不能正常工作

我的“阅读更多”按钮链接到当前页面,而不是它应该链接到的摘录页面。这是我在函数中的函数。php文件:function new_excerpt_more($more) { global $post; return \' <a href=\"\'. get_permalink($post->ID) . \'\"> ...Read More</a>\'; } add_filter(\'excerpt_more\', \'new_excerpt_