我正在尝试在Favorite plugin shortcode中使用Wordpress WP Bakery grid builder,但无法正常工作。
我使用的简码是[favorite_button post_id="{{ post_data:ID }}"]
正确的ID用于数据属性,例如data-postid="123"
,但对于收藏数,我总是得到data-favoritecount="0"
而不是正确的收藏数。因此,该插件仅将计数显示为0:
<span class="simplefavorite-button-count">0</span>
WP Bakery的支持使我指向在this page上使用自定义变量,但是它仍然对我不起作用。这是我到目前为止在子主题function.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不是我的强项。非常感谢您的帮助。