Получите URL изображения вложения в натуральную величину с помощью идентификатора сообщения?

У меня есть эта функция:

function get_image_link( &$post ) {
         $image_link_meta = get_post_meta( $post->ID, 'as_link_to_image', true ); 

         $image_link_from_post = '';

         if ( function_exists( 'has_post_thumbnail' ) && has_post_thumbnail( $post->ID ) ) {
            $attachment_image_link = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), full );
         }

         if ( $attachment_image_link[0] )
            $image_link_from_post = $attachment_image_link[0];

         if( !empty( $image_link_meta ) ) 
            $final_image_link = $image_link_meta;

         elseif( !empty( $image_link_from_post ) )
            $final_image_link = $image_link_from_post; 

         else
            $final_image_link = WP_PLUGIN_URL . '/link/to/no-image.png';

         return $final_image_link;
    }
}

Любая идея, почему $image_link_from_post разве получение не является значением?

0
01.02.2011, 01:52
3 ответа

Это должно смочь возвратить URL большого изображения.

$largeImg = wp_get_attachment_link( $attachment_id, 'large', false );

Существует, также это упаковывает, который не работает.

wp_get_attachment_image_src( $attachment_id, 'large' );
1
19.02.2020, 23:43

Эта строка прямо здесь:

if ( !$attachment_image_link[0] )
            $image_link_from_post = $attachment_image_link[0];

Вы только присваиваетесь $image_link_from_post переменная к миниатюре сообщения, если миниатюра сообщения не существует. Выньте оператор NOT в условном выражении, и это должно работать больше способ, которым Вы предназначаете.

Обновление: ой, странный, я просто скопировал ту строку из Вашего кода, но теперь не там. Вы уже решили проблему?

0
19.02.2020, 23:43
  • 1
    исправил его.. это была опечатка :-) –  Joann 01.02.2011, 02:01
  • 2
    , функция работает теперь на Вас? –  goldenapples 01.02.2011, 02:01
  • 3
    Нет, к сожалению.. –  Joann 01.02.2011, 02:05
  • 4
    В этом случае я не уверен. Необходимо заключить в кавычки 'full' в вызове к get_post_thumbnail_id. Кроме того, проверьте на current_theme_supports( 'post-thumbnails' ) вместо function_exists( 'has_post_thumbnail' ), это - все, что я могу предложить. –  goldenapples 01.02.2011, 02:17
  • 5
    я добавил поддержку своей теме уже особенно в functions.php. Спасибо за время! –  Joann 01.02.2011, 02:22

Большой Отрывок, доступный здесь от парней в Приемах CSS:

$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
$thumb_url = $thumb_url_array[0];

Когда я сначала попробовал это решение, это продолжало бросать 'Недостающее Вложение', потому что я ссылался на идентификатор сообщения вместо идентификатора вложения. Anywho этот небольшой отрывок помог разрешить это для меня. Первый комментарий уменьшает его до одной строки!

Удачи!

2
19.02.2020, 23:43

Теги

Похожие вопросы