WordPress Hook – 當 Jetpack 相關文章遇上沒有設定精選圖片的一種解決方式(jetpack_images_get_images)
當你的網站有使用 Jetpack,並且有開啟「相關文章」功能時
Jetpack 本身取得文章時的預覽圖片,取決於你有沒有設定精選圖片
若沒有設定精選圖片,那顯示出來的就只有標題沒有圖片

於是可以使用下面方式,告訴 Jetpack 如果沒有取到圖片時,可以抓取文章第一張圖片或預設圖片當作預覽圖
function achang_jetpack_images_get_images( $media, $post_id, $args ) { // 當 Jetpack 沒有抓到圖片時 if ( !$media && $post_id ) { // 取得文章資料 $post_object = get_post($post_id); // 過濾出文章內第一張圖片的網址 preg_match('/< *img[^>]*src *= *["']?([^"']*)/i', $post_object->post_content, $matches); if( !empty($matches[1]) ){ $img_url = $matches[1]; $url = apply_filters( 'jetpack_photon_url', $img_url ); $media = array( array( 'type' => 'image', 'from' => 'custom_fallback', 'src' => esc_url( $url ), 'href' => get_permalink( $post_id ), ) ); } } return $media; } add_filter( 'jetpack_images_get_images', 'achang_jetpack_images_get_images', 10, 3 );
套用之後就會出現啦~

當然這段程式要放在佈景底下的 functions.php 才有效哦
(也可以寫在外掛裡面啦)
對了~後台的設定>閱讀裡面的「使用大型、引人注目的版面形式」要打勾,預設才會使用圖片格式喔
臉書留言
一般留言