add webcomponent / shortcode and allow gancio-event[s] tag to wordpress plugin

This commit is contained in:
lesion
2022-01-17 12:03:54 +01:00
parent e0d43d4ae9
commit 2c752912c5
2 changed files with 66 additions and 1 deletions

View File

@@ -21,7 +21,7 @@ along with (WPGancio). If not, see (https://www.gnu.org/licenses/agpl-3.0.html).
defined( 'ABSPATH' ) or die( 'Nope, not accessing this' );
require_once('settings.php');
require_once('wc.php');
require_once('oauth.php');

65
wp-plugin/wc.php Normal file
View File

@@ -0,0 +1,65 @@
<?php
defined( 'ABSPATH' ) or die( 'Nope, not accessing this' );
/**
* ADD gancio-event / gancio-events as allowed tags in post and tinymce-editor
*/
function add_gancio_events_to_kses_allowed($the_allowed_tags)
{
$the_allowed_tags['gancio-events'] = array('tags' => true, 'places' => true, 'theme' => true, 'id' => true, 'baseurl' => true);
$the_allowed_tags['gancio-event'] = array('id' => true, 'url' => true);
return $the_allowed_tags;
}
add_filter('wp_kses_allowed_html', 'add_gancio_events_to_kses_allowed', 10, 1);
function tinymce_init( $init ) {
$ext = 'gancio-event[id,url],gancio-events[baseurl,places,tags,theme,max]';
if ( isset( $init['extended_valid_elements'] ) ) {
$init['extended_valid_elements'] .= ',' . $ext;
} else {
$init['extended_valid_elements'] = $ext;
}
return $init;
}
add_filter('tiny_mce_before_init', 'tinymce_init');
/** ADD SHORTCODES */
function gancio_event_handler_function( $atts, $content, $tag) {
var_dump('asdfaoisdfo iajsdofij');
$a = shortcode_atts( array(
'baseurl' => 'https://demo.gancio.org',
'id' => 0
), $atts);
return '<gancio-event baseurl="' . $a['baseurl'] . '" id=' . $a['id'] . '></gancio-event>';
};
function gancio_events_handler_function( $atts, $content, $tag) {
$a = shortcode_atts( array(
'baseurl' => 'https://demo.gancio.org',
'places' => '',
'tags' => '',
'theme' => 'dark',
'max' => NULL
), $atts);
return '<gancio-events baseurl="' . $a['baseurl'] . '" theme="' . $a['theme'] . '" places="' . $a['places'] . '" tags="' . $a['tags'] . '"></gancio-events>';
};
add_action( 'init', function () {
global $allowedposttags;
$allowedposttags['gancio-event'] = array(
'id' => array(),
'baseurl' => array(),
'theme' => array()
);
add_shortcode('gancio-event', 'gancio_event_handler_function');
add_shortcode('gancio-events', 'gancio_events_handler_function');
});
/** ADD WEB COMPONENT SCRIPT */
add_action('wp_enqueue_scripts', 'add_gancio_custom_js');
function add_gancio_custom_js() {
wp_enqueue_script('gancio-wc', plugins_url('/js/gancio-events.es.js', __FILE__));
}