2017-10-09 120 views
0

我的WordPress網站使用第一圖像後縮略圖,代碼:默認的縮略圖

add_filter('the_content','replace_content'); 
function get_first_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)) { 
$first_img = "/path/to/default.png"; 
} 
return $first_img; 
} 

有些崗位在內容上沒有圖像,所以我想用不同的默認縮略圖它們:職位A類使用圖片1,在cagory B在使用產品組別的職位...

我怎樣才能做到這一點? 謝謝

回答

0

這個怎麼樣,在這裏我們使用has_post_thumbnail檢查圖像附件,如果不存在,我們正在建立圖像和圖像源。從那裏,我們檢查類別分配,如果沒有匹配的類別,我們使用默認的縮略圖。

<?php 
if (! has_post_thumbnail()) { 
    $themefolder = get_bloginfo('template_directory'); 
    echo '<img src="' . $themefolder . '/images/'; 
    if (is_category('Category A')) { 
     echo 'no-image-a.png'; 
    } elseif (is_category('Category B')) { 
     echo 'no-image-b.png';  
    } else { 
     echo 'no-image.png'; 
    } 
    echo '" alt="' . get_the_title() . '">' . PHP_EOL; 
} 
?> 
+0

,我想保留它,我不知道如何運用你的代碼對於first_image。謝謝 –

+0

你可以替換: 'if(empty($ first_img)){ $ first_img =「/path/to/default.png」; } 回報$ first_img; }' 有: '如果(!空($ first_img)){ 回報$ first_img; } }' 然後在相關頁面/帖子模板中獨立使用我的代碼片段。 – morgyface

+1

謝謝你的男人,搞定! –

0

最後,這是我的代碼:

add_filter('the_content','replace_content'); 
function get_first_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)) { 
    $categories = get_the_category(); 

if (! empty($categories)) { 
foreach ($categories as $category) { 
if($category->name == 'Category A'){ $first_img = "/path/to/default1.png";} 
elseif ($category->name == 'Category B'){ $first_img = "/path/to/default2.png";} 
else {$first_img = "/path/to/default3.png";} 
} 
} 
} 
return $first_img; 
} 
相關問題