[Back] <?php
/**
* Shortcode for Visual Composer
*
* @package visual-portfolio/vc
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Class Visual_Portfolio_3rd_VC
*/
class Visual_Portfolio_3rd_VC {
/**
* Visual_Portfolio_3rd_VC constructor.
*/
public function __construct() {
$this->init_hooks();
}
/**
* Hooks.
*/
public function init_hooks() {
add_action( 'init', array( $this, 'add_shortcode' ) );
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
}
/**
* Enqueue script for frontend VC
*
* @param object $page - page object.
*/
public function admin_enqueue_scripts( $page ) {
if ( 'post.php' === $page || 'post-new.php' === $page ) {
Visual_Portfolio_Assets::enqueue_script( 'visual-portfolio-vc-frontend', 'build/assets/admin/js/vc-frontend' );
}
}
/**
* Add shortcode to the visual composer
*/
public function add_shortcode() {
if ( function_exists( 'vc_map' ) ) {
// get all visual-portfolio post types.
// Don't use WP_Query on the admin side https://core.trac.wordpress.org/ticket/18408 .
$vp_query = get_posts(
array(
'post_type' => 'vp_lists',
'posts_per_page' => -1,
'paged' => -1,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
)
);
$data_vc = array();
foreach ( $vp_query as $post ) {
$data_vc[] = array( $post->ID, '#' . $post->ID . ' - ' . $post->post_title );
}
vc_map(
array(
'name' => visual_portfolio()->plugin_name,
'base' => 'visual_portfolio',
'controls' => 'full',
'icon' => 'icon-visual-portfolio',
'params' => array(
array(
'type' => 'dropdown',
'heading' => esc_html__( 'Select Layout', 'visual-portfolio' ),
'param_name' => 'id',
'value' => $data_vc,
'description' => '',
'admin_label' => true,
),
array(
'type' => 'textfield',
'heading' => esc_html__( 'Custom Classes', 'visual-portfolio' ),
'param_name' => 'class',
'value' => '',
'description' => '',
),
array(
'type' => 'css_editor',
'heading' => esc_html__( 'CSS', 'visual-portfolio' ),
'param_name' => 'vc_css',
'group' => esc_html__( 'Design Options', 'visual-portfolio' ),
),
),
)
);
}
}
}
new Visual_Portfolio_3rd_VC();