Я пытаюсь использовать WordPress Шорткод любимого плагина в WP Bakery Grid Builder но я не могу заставить его работать.
Я использую короткий код [favorite_button post_id="{{ post_data:ID }}"]
Правильный идентификатор используется для атрибута данных, например, data-postid="123"
но за любимый счет я всегда получаю data-favoritecount="0"
вместо правильного количества избранных. Так что плагин просто показывает количество как 0:
<span class="simplefavorite-button-count">0</span>
Поддержка WP Bakery указала мне на использование пользовательской переменной на эта страница но это все еще не будет работать для меня. Вот код, который у меня есть в моей дочерней теме functions.php:
// custom favorite shortcode for grid builder
add_filter( 'vc_grid_item_shortcodes', 'my_module_add_grid_shortcodes' );
function my_module_add_grid_shortcodes( $shortcodes ) {
$shortcodes['vc_gitem_favourite'] = array(
'name' => __( 'Favourite', 'my-text-domain' ),
'base' => 'vc_gitem_favourite',
'category' => __( 'Content', 'my-text-domain' ),
'description' => __( 'Favourite button' ),
'post_type' => Vc_Grid_Item_Editor::postType(),
);
return $shortcodes;
}
// output function
add_shortcode( 'vc_gitem_favourite', 'vc_gitem_favourite_render' );
function vc_gitem_favourite_render($atts) {
return '[favorite_button post_id="{{ favourite:' . http_build_query( (array) $atts ) . ' }}"]';
}
add_filter( 'vc_gitem_template_attribute_favourite', 'vc_gitem_template_attribute_favourite', 10, 2 );
function vc_gitem_template_attribute_favourite() {
return get_the_id( $post->ID );
}
Как вы, вероятно, можете сказать, PHP не моя сила. Любая помощь с благодарностью получена.
Задача ещё не решена.
Других решений пока нет …