Ссылка изображения с данными из wpdb

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

проблема
Я не знаю, как связать мой образ с интерфейсом с URL-адресом из базы данных.

ситуация
Я создал пользовательский тип сообщения под названием «Баннеры». На каждом посту я могу добавить изображение. Это будет сохранено в моей базе данных. Также на каждой странице редактирования сообщений есть область ввода для banner_url. Там я передаю свой баннер ссылку, куда он должен идти после нажатия на нее на интерфейсе. Теперь я могу отображать изображение, которое я хочу на странице, которую я хочу. Но теперь мне нужно получить URL-адрес из базы данных и связать его с моим изображением.

Код

<?php // function to show home page banner using query of banner post type function wptutsplus_home_page_banner() { // start by setting up the query $get_banner = new WP_Query( array( 'post_type' => 'banners', 'meta_query' => array( array( 'key' => 'banner_link', 'value' => 'https://www.mypage.com' ) ) )); // now check if the query has posts and if so, output their content in a banner-box div if ( $get_banner->have_posts() ) { ?> <?php while ( $get_banner->have_posts() ) : $get_banner->the_post(); ?> <div class="container" align="center"><a href=""><?php echo the_post_thumbnail(); ?></a></div> <?php endwhile; ?> <?php } wp_reset_postdata(); } ?> 

Вопрос
Мой вопрос: как мне получить banner_url из базы данных? И как я могу заставить его работать с изображением?

Заранее спасибо!

ИЗМЕНИТЬ ПРОБЛЕМУ
Благодаря Абдул Авал

 <?php // function to show home page banner using query of banner post type function wptutsplus_home_page_banner() { // start by setting up the query $get_banner = new WP_Query( array( 'post_type' => 'banners', 'meta_query' => array( array( 'key' => 'banner_link', 'value' => 'https://www.mypage.com' ) ) )); // now check if the query has posts and if so, output their content in a banner-box div if ( $get_banner->have_posts() ) : while ( $get_banner->have_posts() ) : $get_banner->the_post(); $output = '<div class="container" align="center"><a href="'.get_post_meta( get_the_ID(), 'banner_link', true ).'">'.get_the_post_thumbnail().'</a></div>'; endwhile; endif; wp_reset_postdata(); return $output; } ?> 

Вам нужно запрашивать только те элементы, для banner_link значение banner_link установлено на https://www.mypage.com ?

Если нет, вы можете удалить часть meta_query из вашего запроса.

 <?php // function to show home page banner using query of banner post type function wptutsplus_home_page_banner() { // start by setting up the query $get_banner = new WP_Query( array( 'post_type' => 'banners', 'meta_query' => array( array( 'key' => 'banner_link', 'value' => 'https://www.mypage.com' ) ) )); // now check if the query has posts and if so, output their content in a banner-box div if ( $get_banner->have_posts() ) { ?> <?php while ( $get_banner->have_posts() ) : $get_banner->the_post(); ?> <div class="container" align="center"><a href="<?php echo get_post_meta( $post->ID, 'banner_link', true ); ?>"><?php the_post_thumbnail(); ?></a></div> <?php endwhile; ?> <?php } wp_reset_postdata(); } ?> 

ОБНОВИТЬ

Поскольку вы используете его внутри плагина. Вы можете сделать следующее:

 <?php // function to show home page banner using query of banner post type function wptutsplus_home_page_banner() { // start by setting up the query $get_banner = new WP_Query( array( 'post_type' => 'banners', 'meta_query' => array( array( 'key' => 'banner_link', 'value' => 'https://www.mypage.com' ) ) )); // now check if the query has posts and if so, output their content in a banner-box div if ( $get_banner->have_posts() ) : while ( $get_banner->have_posts() ) : $get_banner->the_post(); $output = '<div class="container" align="center"><a href="'.get_post_meta( $post->ID, 'banner_link', true ).'">'.get_the_post_thumbnail().'</a></div>'; endwhile; endif; wp_reset_postdata(); return $output; } ?> 

А затем назовите его где-нибудь с <?php echo wptutsplus_home_page_banner(); ?> <?php echo wptutsplus_home_page_banner(); ?>

Дайте мне знать, если это сработает.

Вы ищете get_post_meta()

Ваша петля должна выглядеть так:

 <?php while ( $get_banner->have_posts() ) : $get_banner->the_post(); ?> <div class="container" align="center"><a href="<?php echo get_post_meta( get_the_ID(), 'banner_link', true); ?>"><?php echo the_post_thumbnail(); ?></a></div> <?php endwhile; ?> 

https://developer.wordpress.org/reference/functions/get_post_meta/