-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadf-cd.php
58 lines (49 loc) · 2.21 KB
/
adf-cd.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
/**
* @package ADF-CD
*/
/*
Plugin Name: ADF Chat-Dokumentation
Plugin URI: https://github.com/lislis/adf-cd-plugin
Description: Custom plugin that enabled a shortcode for embedding chat documentation tool.
Author: lislis
Version: 0.1.0
Author URI: https://lislis.de
*/
add_action('admin_menu', 'adf_cd_plugin_setup_menu');
function adf_cd_plugin_setup_menu(){
add_menu_page( 'ADF-CD Plugin', 'ADF-CD', 'manage_options', 'adf-cd', 'test_init' );
}
function test_init(){
echo "<h1>ADF CD Plugin!</h1>";
echo "<h2>Shortcode Verwendung</h2>";
echo "<p>api_url zeigt auf den API server. container_class ist optional aber vielleicht für das Styling hilfreich.</p>";
echo "<pre>[adf_cd api_url=\"http://localhost:3000/api\" container_class=\"fooobarbaz\"]</pre>";
echo "<h2>Beispiel Styling</h2>";
echo "<p>Der Container könnte zB so gestylt werden, um fullscreen zu sein.</p>";
echo "<pre>#adf-cd {
overflow-x: hidden;
height: 100vh;
width: 100vw;
position: absolute;
top: 0;
bottom: 0;
}</pre>";
}
function adf_cd_shortcode_function($atts = array()) {
wp_enqueue_style( 'adf-vue-styles', plugin_dir_url(__FILE__) . 'dist/css/app.css', array(), '0.0.3', 'screen');
wp_register_script('adf-vue-chunk', plugin_dir_url(__FILE__) . 'dist/js/chunk-vendors.js', array(), '0.0.3', true);
wp_enqueue_script('adf-vue-chunk');
wp_register_script('adf-vue-app', plugin_dir_url(__FILE__) . 'dist/js/app.js', array('adf-vue-chunk'), '0.0.3', true);
wp_enqueue_script('adf-vue-app');
$theme_overwrite_css = get_stylesheet_directory() . '/chat-styles.css';
if (is_file($theme_overwrite_css)) {
wp_enqueue_style( 'adf-chat-styles-overwrite', $theme_overwrite_css, array(), '0.0.3', 'screen');
}
extract(shortcode_atts(array(
'api_url' => 'http://urlnot.set',
'container_class' => 'adf-cd-container'
), $atts));
return "<noscript>Du musst JavaScript einschalten um dieses Tool nutzen zu können.</noscript><script>window.API_URL = \"$api_url\";</script><div id=\"adf-cd\" class=\"$container_class\"></div>";
}
add_shortcode('adf_cd', 'adf_cd_shortcode_function');