在Pinterest的分页帖子上找到第一张图片

时间:2012-08-20 作者:Vlad Dusil

我已经找了好几天了,但找不到好的答案。也许SE人群可以提供帮助。非常感谢您的帮助。

我正在使用一个自定义编码的pinterest按钮,该按钮包含在帖子上,用于提取帖子的第一个图像或特色图像(如果存在)。

<span data-icon="&#x30;" aria-hidden="true"></span><a href="http://pinterest.com/pin/create/button/?url=<?php echo urlencode(get_permalink($post->ID)); ?>&media=<?php 
if ( (! has_post_thumbnail()) || ($paged != 0) ) { 
echo catch_that_image();
} else { 
// Has featured img
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'medium\' );
echo $image[0]; 
} 
?>&description=<?php the_title(); ?>" class="pin-it-button" count-layout="horizontal">Pin It</a>
现在,获取帖子第一个图像的函数如下所示:

function catch_that_image() {
global $post, $posts;
$first_img = \'\';
ob_start();
ob_end_clean();
$output = preg_match_all(\'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post->post_content, $matches);
$first_img = $matches [1] [0];

if(empty($first_img)){ //Defines a default image
$first_img = "http://static.purseblog.com/default.jpg";
}
return $first_img;
}
您知道如何修改catch\\u that\\u image函数以考虑分页并在用户浏览的当前页面上查找第一个图像吗?然后我想将URL发送到pinterest,以获得更准确的固定。

提前非常感谢。

2 个回复
SO网友:s_ha_dum

你是说分页的单篇文章用<!--nextpage-->? 如果是这种情况,上述函数(catch_that_image()) 应该很好。$post->post_content 包含整个帖子,而不仅仅是显示的部分。

如果你指的是一系列分页的不同帖子,那么你能做的最好的事情就是让函数在该帖子页面上操作,因为其他页面在需要时才从数据库中提取出来。

SO网友:MaximOrlovsky

也许用jQuery而不是PHP查找第一个图像会更好。通过这种方式,您可以在页面的可见部分处理图像。

另外,我没有写代码,因为它取决于你的HTML。

结束

相关推荐

Pagination on custom query

我正在使用以下代码query_posts 要组合自定义搜索,请执行以下操作:$args = array( \'post_type\' => \'species\', \'meta_query\' => $meta_query, \'tax_query\' => $tax_query ); $meta_query 由以下几段代码组成:if (!empty($_POST[\"s_aquarium_H\"])) {