- Home
- Categorie
- Coding e Sistemistica
- WordPress
- Wordpress related posts with thumbs
-
Wordpress related posts with thumbs
Ciao a tutti!
Ho installato questo plugin che permette di estrarre l'anteprima della prima immagine inserita in un post e affiancarla ad esso quando viene listato tra gli articoli correlati.A me però servirebbe estrarre, solo dove presente, la seconda immagine ed ho provato ad utilizzare il preg_match_all come suggerito sul sito del plugin ma non va. Suggerimenti?
Questo è il codice originale
//inizio formattazione output $all_post_text = $related_post->post_content; // estrazione della prima immagine $first_img=false; $resized_url=false; if ( preg_match ( '/resize.php\?url=(.*?)&/i',$all_post_text, $matches)){ $first_img = $matches[1]; $first_img = urldecode ($first_img); $crypt = new encryption_class; $dimension_encoded = urlencode ($crypt->encrypt($zkey,$wp_rp_thumb_size)); $imgurl_encoded = urlencode ($crypt->encrypt($zkey,$first_img)); $resized_url = $blogurl."/wp-content/plugins/WPRPT/resize.php?size=".$dimension_encoded."&url=".$imgurl_encoded; } elseif ( preg_match ( '/<img.*?src=["\'](.*?)["\'].*?>/i',$all_post_text, $matches)){ $first_img = $matches[1]; $crypt = new encryption_class; $dimension_encoded = urlencode ($crypt->encrypt($zkey,$wp_rp_thumb_size)); $imgurl_encoded = urlencode ($crypt->encrypt($zkey,$first_img)); $resized_url = $blogurl."/wp-content/plugins/WPRPT/resize.php?size=".$dimension_encoded."&url=".$imgurl_encoded; } else {} $text_content = strip_tags($related_post->post_content); // toglie i tag html dal testo $text_content = truncateText($text_content,150,'...',false,true); //numero di caratteri da mostrare del testo $attachment_id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_parent = '$related_post->ID' AND post_status = 'inherit' AND post_type='attachment' ORDER BY post_date DESC LIMIT 1"); if ($resized_url) { $output .= ' <div class="img_related_post"><img src="'.$resized_url.'"/></div>'."\n"; } else { $output .= ' <div class="img_related_post">'.get_attachment_icon($attachment_id).'</div>'."\n"; } $output .= ' <div class="text_related_post">'."\n".' <a href="'.get_permalink($related_post->ID).'" title="'.wptexturize($related_post->post_title).'">'.wptexturize($related_post->post_title)."</a>\n"; if ($show_date){ $dateformat = get_option('date_format'); $output .= " <span class='publi_related_post'>Pubblicato il:</span> <span class='publi_related_post_date'>".mysql2date($dateformat, $related_post->post_date) . "</span>\n"; } if ($show_comments_count){ $output .= " <span class='comments_related_post'>Commenti: " . $related_post->comment_count . "</span>\n"; } $output .= " </div>\n"; } $output = '<ul class="related_post">' . "\n". $output . "\n".'</ul>'; //fine formattazione ```e questo la soluzione proposta che non funziona
if ( preg_match_all ( '//i',$all_post_text, $matches)){
$first_img = $matches[1][2];
-
nessuno che può aiutarmi?