Сделать изображение настраиваемого поля использоваться в качестве избранного изображения - PullRequest
0 голосов
/ 25 марта 2019

Моя старая тема клиента не использовала рекомендуемое изображение для отображения в верхней части страницы. Вместо этого они используют настраиваемое поле, которое работает так же, как и рекомендуемое изображение.

Проблема в том, что им нужно было добавить плагин, который создает сетку, и на нем не отображается изображение каждого поста, потому что поле рекомендуемого изображения пустое.

Имеется более 600 сообщений, и заполнение избранных изображений вручную занимает слишком много времени.

Есть ли способ начать использовать настраиваемое поле в качестве технически показанного изображения, чтобы оно показывало, где будет показано когда-либо показанное изображение?

Это PHP, который вызывает изображение на странице одного сообщения:

                        <?php if (!empty($post->news_image)): ?>
                            <img class="news-image" src="<?php

                            echo $post->news_image;

                            ?>" alt="News Thumb" />
                        <?php endif ?>

Thats the code at the beguinign of the single post php file:

    $theme_url = get_bloginfo('stylesheet_directory').'/';
$base_url = get_bloginfo('url').'/';
$current_lang = pll_current_language();
$current_URI = $_SERVER["REQUEST_URI"];


// get related news
$news_args = array(
    'posts_per_page' => 3,
    'post_type' => 'news',
    'category__not_in' => pll_get_term(171),
    'exclude' => $post->ID,
    'orderby' => 'meta_value',
    'meta_key' => 'news_date',
    'order' => 'DESC',
);
$other_news = get_posts($news_args);


// find Prev & Next news
$news_args["posts_per_page"] = -1;
unset($news_args["exclude"]);

$all_news = get_posts($news_args);

foreach ($all_news as $k => $item) {
    if ($item->ID == $post->ID) {
        $prev_page = isset($all_news[$k-1]) ? $all_news[$k-1] : null;
        $next_page = isset($all_news[$k+1]) ? $all_news[$k+1] : null;
    }
}

$closebuttonlink = $base_url;

if (strpos($_SERVER['HTTP_REFERER'], 'investors/news') !== false) {
    $closebuttonlink = $base_url."investors/news/";
}
else if (preg_match('/\/investors/', wp_get_referer())) {
        $closebuttonlink = $base_url."investors/";
}
else
{
        $closebuttonlink = $base_url;
}



function get_ir_news_permalink($post_object)
{
    $base_url = get_bloginfo('url').'/';
    return $base_url.'investors/news_view/'.$post_object->post_name;
}
if(in_category(141) && preg_match('/media\/news_view/', $current_URI)) {
    wp_redirect(get_ir_news_permalink($post));
}
if(in_category(272) && preg_match('/media\/news_view/', $current_URI)) {
    wp_redirect(get_ir_news_permalink($post));
}


set_query_var( 'section', 2 );

set_query_var( 'newsdetails', 1 );
// select Investor section menu

// load header
get_header();

1 Ответ

0 голосов
/ 25 марта 2019

Ну, есть три способа получить поле изображения, как показано ниже.

1.Возвращаемое значение = изображение объекта (снимок экрана: https://screencast.com/t/gTdgeU0Y)

Примечание: пожалуйста, добавьте свой идентификатор вместо «изображения»

<?php 
    $image = get_field('image');
    if( !empty($image) ):
?>
    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
<?php endif; ?>

2. Возвращаемое значение =URL-адрес изображения

<?php if( get_field('image') ): ?>
     <img src="<?php the_field('image'); ?>" />
<?php endif; ?>

3. Возвращаемое значение = Идентификатор изображения

<?php 
$image = get_field('image');
$size = 'full'; // (thumbnail, medium, large, full or custom size)

if( $image )
{
    echo wp_get_attachment_image( $image, $size );
}
?>

Пожалуйста, поместите код выше, где вы хотите получить изображение. Надеждаэто будет работать для вас:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...