Intereting Posts

WordPress Получение данных для Post Grid визуального композитора

Я использую Visual Composer в WordPress, и я хочу создать настраиваемую Post Grid. Но элементы по умолчанию, которые поставляются в сетчатых сетях, недостаточно. Я хочу показать автора сообщения, количество комментариев, которое у него есть, свою категорию и теги, которые у него есть. Я не очень хорошо знаком с Visual Composer, но мне нужна точка в правильном направлении для получения этих данных? Что я могу сделать? Я ищу их документы, но не повезло. Если мне нужно будет перемещаться по php-коду, мне хотелось бы знать, что я делаю, это правильно. Есть идеи? Если вам нужна дополнительная информация, спросите: D

Заранее спасибо за помощь.

    У меня такая же проблема; вот как я его решаю:

    Согласно документации Visual Composer: https://wpbakery.atlassian.net/wiki/display/VC/Adding+Custom+Shortcode+to+Grid+Builder

    Когда вы добавите код ниже в functions.php , новый компонент будет добавлен в ваш пользовательский грид-конструктор (в моем примере имя будет «Author»). Есть ряд значений, которые вы можете получить с помощью функции переменной шаблона post data, а одно из них – не имя автора, а их идентификатор (это печально, но по крайней мере вы можете использовать это значение для получения имени автора). Значение 'post_author' => ID автора (например, «1»)

    Вот функция, в которой я получаю пост-автора и показываю его (если компонент автора был добавлен в вашу настраиваемую сетку в «настраиваемом построителе гридов»). Поместите его в functions.php вашей дочерней темы:

     add_filter( 'vc_grid_item_shortcodes', 'my_module_add_grid_shortcodes' ); function my_module_add_grid_shortcodes( $shortcodes ) { $shortcodes['vc_post_id'] = array( 'name' => __( 'Author', 'my-text-domain' ), 'base' => 'vc_post_id', 'category' => __( 'Content', 'my-text-domain' ), 'description' => __( 'Show current post author', 'my-text-domain' ), 'post_type' => Vc_Grid_Item_Editor::postType(), ); return $shortcodes; } // output function add_shortcode( 'vc_post_id', 'vc_post_id_render' ); function vc_post_id_render() { $nn = '{{ post_data:post_author }}'; // usage of template variable post_data with argument "post_author" return get_the_author($nn); } 

    Есть небольшая проблема. Он работает, но get_the_author – устаревшая функция в WordPress. Я был бы признателен за любые предложения, чтобы сделать его более современным или если вы называете другие альтернативы, пожалуйста, предложите.

    Кроме того, вот список доступных переменных vc_post_id_render из docs. Вот они:

     WP_Post::__set_state(array( 'ID' => 69, 'post_author' => '1', 'post_date' => '2015-04-29 14:15:56', 'post_date_gmt' => '2015-04-29 14:15:56', 'post_content' => 'Your post content', 'post_title' => 'Your post title', 'post_excerpt' => '', 'post_status' => 'publish', 'comment_status' => 'open', 'ping_status' => 'open', 'post_password' => '', 'post_name' => 'post name', 'to_ping' => '', 'pinged' => '', 'post_modified' => '2015-06-17 11:18:41', 'post_modified_gmt' => '2015-06-17 11:18:41', 'post_content_filtered' => '', 'post_parent' => 0, 'guid' => 'http://wp.master/?p=69', 'menu_order' => 0, 'post_type' => 'post', 'post_mime_type' => '', 'comment_count' => '0', 'filter' => 'raw', 'filter_terms' => array ( ), )) 

    это ваш ответ https://wpbakery.atlassian.net/wiki/display/VC/Adding+custom+shortcode+to+grid+builder

    при использовании переменных шаблона

    Например, в визуальном шаблоне композитора вы можете использовать {{post_date: ID}}, чтобы показать идентификатор сообщения. Я не знаю, как показывать тег.