php ShortCodes和Visual composer

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php ShortCodes和Visual composer相关的知识,希望对你有一定的参考价值。

<?php

if(function_exists('vc_map')){
	add_action('vc_before_init', function(){
	
		// Rajoute l'élément dans Visual composer
		vc_map( array(
			'name' 							=> 'Liste des concerts',
			'base' 							=> "originis_events_list", // String convertit en --> [originis_events_list]
			'category'						=> 'Originis - Sunvizors',
			'icon' 							=> $plugin_dir_url.'assets/img/events.svg',
			'allowed_container_element' 	=> 'vc_row',
			'params' => array(
				array(
					'type' => 'textfield',
					'heading' => 'Titre',
					'param_name' => 'title',
					'value'  => '',
					'admin_label' => true,
					'description' => 'Titre affiché au dessus du flux (laisser vide si aucun titre).',
					'group' => 'Options Visuelles',
				),
				array(
					'type' => 'dropdown',
					'heading' => 'Balise HTML utilisée pour le titre',
					'param_name' => 'title_tag',
					'value'  => array(
						'h2' => 'h2',
						'h3' => 'h3',
						'h4' => 'h4',
						'h5' => 'h5',
						'h6' => 'h6',
					),
					'admin_label' => true,
					'description' => 'Choisissez quelle balise HTML va encadrer le titre lors de l\'affichage de la liste des concerts.',
					'group' => 'Options Visuelles',
				),
				array(
					'type' => 'textfield',
					'heading' => 'Nombre de dates à montrer',
					'param_name' => 'number',
					'value' => '-1',
					'admin_label' => true,
					'description' => '"-1" permet de lister toutes les dates',
					'group' => 'Options du flux',
				),
				array(
					'type' => 'dropdown',
					'heading' => "Ordre d'apparition des dates",
					'param_name' => 'order',
					'value' => array(
						'Du plus récent au plus ancien'			=> "ASC",
						'Du plus ancien au plus récent'			=> "DESC",
					),
					'admin_label' => true,
					'save_always' => true,
					'description' => 'Définissez l\'ordre dans lequel apparaissent les dates.',
					'group' => esc_html__('Options du flux','shuffle') ,
				),
				array(
					'type' => 'dropdown',
					'heading' => "Afficher le bouton \"En voir plus\"",
					'param_name' => 'show_load_more',
					'value' => array(
						"Non"  => 	'false',
						"Oui" => 	'true'
					),
					'group' => esc_html__('Options du flux', 'shuffle')
				),
				array(
					'type' => 'textfield',
					'heading' => "URL du bouton \"En voir plus\"",
					'param_name' => 'show_more_url',
					'admin_label' => true,
					'description' => esc_html('Renseignez-ici le lien sur lequel vous souhaitez rediriger les visiteurs lorsqu\'ils cliquent sur le bouton', 'edge'),
					'group' => "Options du flux",
				),
				array(
					'type' => 'colorpicker',
					'heading' => "Couleur du texte",
					'param_name' => 'text_color',
					'admin_label' => true,
					'group' => "Options Visuelles",
				),
				array(
					'type' => 'colorpicker',
					'heading' => "Couleur de la bordure",
					'param_name' => 'border_color',
					'admin_label' => true,
					'group' => "Options Visuelles",
				),
				array(
					'type' => 'textfield',
					'heading' => "Classe CSS du container",
					'param_name' => 'container_class',
					'admin_label' => true,
					'description' => esc_html('Attribuer une classe CSS spécifique à l\'élément <div> qui englobe le flux, afin d\'en faciliter la personalisation visuelle.', 'edge'),
					'group' => "Options Visuelles",
				),
			)
		));
	
		vc_map( array(
			'name' 							=> 'Compte à rebours prochain concert',
			'base' 							=> "originis_countdown", // String convertit en --> [originis_events_list]
			'category'						=> 'Originis - Sunvizors',
			'icon' 							=> $plugin_dir_url.'assets/img/countdown.svg',
			'allowed_container_element' 	=> 'vc_row',
			'params' 						=> array(
				array(
					'type'        	=> 'colorpicker',
					'heading'     	=> 'Couleur des chiffres',
					'value'			=> '#ffffff',
					'param_name'  	=> 'digit_color',
					'admin_label' 	=> true,
				),
				array(
					'type' => 'colorpicker',
					'heading' => 'Couleur du texte',
					'param_name' => 'label_color',
					'admin_label' => true,
					'value' => '#ffffff',
				),
				array(
					'type'			=> 'checkbox',
					'heading'		=> 'Ombre portée',
					'description'	=> 'Rajoute une légère ombre portée sur le texte qui facilite la lecture du texte en cas de faible contraste entre la couleur du texte et celle de fond',
					'param_name'	=> 'text_shadow',
				),
			)
		));
	});
}
?>
<?php
/**
 * Déclaration du shortcode
 * @param  string   $slug     Le slug du shortcode déclaré qui sera utilisé pour écrire le shortcode (ex : [monshortcode][/monshortcode]);
 * @param  function $function La fonction à executer pour interpréter le shortcode. $atts sont les paramètres que l'on peux passer au short code comme les attributs d'une balise HTML. $content est le contenu qui peu exister entre deux balises du shortcode
 * @return html     Retourne ce que le shortcode doit afficher
 */
add_shortcode( "{slug_du_shortcode}", function($atts, $content = ""){
	
    // Déclaration des valeurs par défauts des attributs du shortcode
    $atts = shortcode_atts
    ( 
    	array(
			"{nom_du_param}"	=> "{default_value}"
		),
		$atts // -> les attributs passés en paramètre sur le shortcode 
	);

    // Préparation du contenu du shortcode
	/***********Magical stuff************/
	
	// Output
	require_once(__DIR__."{some_template_part");
	
	return $output;
	// Output

});
?>

以上是关于php ShortCodes和Visual composer的主要内容,如果未能解决你的问题,请参考以下文章

php 使用ShortCodes在WooCommerce产品网格上显示库存栏

php 使用ShortCodes显示WooCommerce产品网格上的倒数计时器

在页面上呈现Visual Composer短代码

Gallery.php 链接图像

使用 Bootstrap 4.4、Wordpress 和 Bootstrap Shortcodes Ultimate 插件的 Flexbox 列等高

Laravel webwizo 简码包 Shortcodes 类未找到