Элемент пользовательского содержимого Visual Composer, отображающий сообщения

Я пытаюсь отобразить последние 3 сообщения с пользовательским элементом содержимого Visual Composer. Эти 3 сообщения взяты из пользовательского типа сообщений, называемого - новости, и они используют ACF.

Проблема в том, что я не могу правильно взять поля ACF и таким образом не могу их отобразить.

<?php

/*
Element Description: VC Info Box
*/

// Element Class
class vcInfoBox extends WPBakeryShortCode {

    // Element Init
    function __construct() {
        add_action( 'init', array( $this, 'vc_infobox_mapping' ) );
        add_shortcode( 'vc_infobox', array( $this, 'vc_infobox_html' ) );
    }

    // Element Mapping
    public function vc_infobox_mapping() {

        // Stop all if VC is not enabled
        if ( !defined( 'WPB_VC_VERSION' ) ) {
            return;
        }

        // Map the block with vc_map()
        vc_map(
            array(
                'name' => __('Latest 3 News', 'text-domain'),
                'base' => 'vc_infobox',
                'description' => __('Display latest 3news', 'text-domain'),
                'category' => __('My Custom Elements', 'text-domain'),
                )
            );
    }


    // Element HTML
    public function vc_infobox_html( $atts ) {
      global $post;

$atts = extract(
    shortcode_atts(
        array(
            'show_post_list_count' => '',
            ), $atts
        )
    );

$html = '';
$post_list = '';
$other_page = 19;
$args = array(
    'post_type' => 'news',
    'numberposts' => 3,
    'order' => 'DESC',
    'orderby' => 'date',
    );
  $myposts = get_posts($args);
  $post_date = get_field('дата',$other_page);
$text = get_field('текст');
foreach ($myposts as $post) : setup_postdata($post);
$post_list .= '<div class="col-md-4 border-mark">
<div class="col-md-4">
    <img src="'.wp_get_attachment_image_src(get_field('снимка')).'"/>
</div>
<div class="col-md-8">
    <h3>'.$post->post_title.'</h3><br/>
    <span>'.$post_date.'</span>
    <p>'.$text.'</p>
</div>
</div>';
endforeach;
wp_reset_postdata();


$html = '<div class="post-list">'.$post_list.'</div>';
return $html;

}

}
// Element Class Init
new vcInfoBox();

Это мой класс элемента содержимого, и это то, что он возвращает далеко -> http://prntscr.com/m4jy3t В основном я хочу вернуть 4 поля ACF - заголовок, дату, текст и изображение, которые я пробую с рекомендациями ACF, такими как

$text = get_field('текст');

но это ничего не возвращает мне...

0 ответов

Другие вопросы по тегам