* @license MIT License * @version 2021.06.25 */ function h2title($atts, $content = null, $code = "") { $return = '

'; $return .= $content; $return .= '

'; return $return; } add_shortcode('h2title', 'h2title'); function success($atts, $content = null, $code = "") { $return = '
'; $return .= $content; $return .= '
'; return $return; } add_shortcode('success', 'success'); function info($atts, $content = null, $code = "") { $return = '
'; $return .= $content; $return .= '
'; return $return; } add_shortcode('info', 'info'); function warning($atts, $content = null, $code = "") { $return = '
'; $return .= $content; $return .= '
'; return $return; } add_shortcode('warning', 'warning'); function danger($atts, $content = null, $code = "") { $return = '
'; $return .= $content; $return .= '
'; return $return; } add_shortcode('danger', 'danger'); function wymusic($atts, $content = null, $code = "") { $return = '
'; return $return; } add_shortcode('music', 'wymusic'); function bdbtn($atts, $content = null, $code = "") { $return = '立即下载'; return $return; } add_shortcode('bdbtn', 'bdbtn'); function kbd($atts, $content = null, $code = "") { $return = ''; $return .= $content; $return .= ''; return $return; } add_shortcode('kbd', 'kbd'); function nrmark($atts, $content = null, $code = "") { $return = ''; $return .= $content; $return .= ''; return $return; } add_shortcode('mark', 'nrmark'); function striped($atts, $content = null, $code = "") { $return = '
'; $return .= $content; $return .= '%
'; return $return; } add_shortcode('striped', 'striped'); function successbox($atts, $content = null, $code = "") { extract(shortcode_atts(array("title" => __('标题内容', 'kratos')), $atts)); $return = '
'; $return .= $title; $return .= '

'; $return .= $content; $return .= '

'; return $return; } add_shortcode('successbox', 'successbox'); function infobox($atts, $content = null, $code = "") { extract(shortcode_atts(array("title" => __('标题内容', 'kratos')), $atts)); $return = '
'; $return .= $title; $return .= '

'; $return .= $content; $return .= '

'; return $return; } add_shortcode('infobox', 'infobox'); function warningbox($atts, $content = null, $code = "") { extract(shortcode_atts(array("title" => __('标题内容', 'kratos')), $atts)); $return = '
'; $return .= $title; $return .= '

'; $return .= $content; $return .= '

'; return $return; } add_shortcode('warningbox', 'warningbox'); function dangerbox($atts, $content = null, $code = "") { extract(shortcode_atts(array("title" => __('标题内容', 'kratos')), $atts)); $return = '
'; $return .= $title; $return .= '

'; $return .= $content; $return .= '

'; return $return; } add_shortcode('dangerbox', 'dangerbox'); function vqq($atts, $content = null, $code = "") { $return = '
'; return $return; } add_shortcode('vqq', 'vqq'); function youtube($atts, $content = null, $code = "") { $return = '
'; return $return; } add_shortcode('youtube', 'youtube'); function bilibili($atts, $content = null, $code = "") { $return = '
'; return $return; } add_shortcode('bilibili', 'bilibili'); function reply($atts, $content = null) { extract(shortcode_atts(array("notice" => ''), $atts)); $userEmail = null; $user_ID = (int) wp_get_current_user()->ID; if ($user_ID > 0) { $userEmail = get_userdata($user_ID)->user_email; $adminUsers = get_users('role=Administrator'); $adminEmails = array(); foreach ($adminUsers as $user) { $adminEmails[] = $user->user_email; } $authorEmail = get_the_author_meta('user_email'); array_push($adminEmails, $authorEmail); if (in_array($userEmail, $adminEmails)) { return $content; } } else { if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) { $userEmail = str_replace('%40', '@', $_COOKIE['comment_author_email_' . COOKIEHASH]); } else { return $notice; } } if (empty($userEmail)) { return $notice; } global $wpdb; $post_id = get_the_ID(); if ($wpdb->get_results($wpdb->prepare("SELECT comment_ID FROM {$wpdb->comments} WHERE comment_post_ID = %d AND comment_approved = '1' AND comment_author_email = %s LIMIT 1", $post_id, $userEmail))) { return do_shortcode($content); } else { return $notice; } } add_shortcode('reply', 'reply'); function accordion($atts, $content=null, $code=""){ extract(shortcode_atts(array("title"=>__('标题内容','kratos')),$atts)); $return = '
'; $return .= $title; $return .= '
'; $return .= do_shortcode($content); $return .= '
'; return $return; } add_shortcode('accordion','accordion'); function dplayer($atts = array(), $content = ''){ static $instance = 0; $instance++; $atts = shortcode_atts( array( 'autoplay' => 'false', 'theme' => '#b7daff', 'loop' => 'false', 'preload' => 'auto', 'src' => '', 'poster' => '', 'type' => 'auto', 'mutex' => 'true', 'iconsColor' => '#ffffff' ), $atts, 'dplayer'); $atts['autoplay'] = wp_validate_boolean( $atts['autoplay'] ); $atts['theme'] = esc_attr( $atts['theme'] ); $atts['loop'] = wp_validate_boolean( $atts['loop'] ); $atts['preload'] = esc_attr( $atts['preload'] ); $atts['src'] = esc_url_raw( $atts['src'] ); $atts['poster'] = esc_url_raw( $atts['poster'] ); $atts['type'] = strtolower( esc_attr( $atts['type'] ) ); $atts['mutex'] = wp_validate_boolean( $atts['mutex'] ); $atts['iconsColor'] = esc_attr( $atts['iconsColor'] ); if ( empty( $atts['src'] ) ) return; $output = sprintf( '', $instance, $instance, $atts['autoplay'], $atts['theme'], $atts['loop'], $atts['preload'], $atts['src'], $atts['type'], $atts['poster'], $atts['mutex'], $atts['iconsColor'] ); $html = sprintf( '

', $instance ); add_action( 'wp_footer', function () use ( $output ) { echo ' ' . $output . "\n"; }, 99999 ); return $html; } add_shortcode('dplayer','dplayer'); function override_wp_video_shortcode( $html = '', $atts = array() ) { if ( empty( $atts['src'] ) ) { if (!empty( $atts['mp4'] )) { $atts['src']=$atts['mp4']; }elseif(!empty( $atts['m4v'] )) { $atts['src']=$atts['m4v']; }elseif(!empty( $atts['webm'] )) { $atts['src']=$atts['webm']; }elseif(!empty( $atts['ogv'] )) { $atts['src']=$atts['ogv']; }elseif(!empty( $atts['wmv'] )) { $atts['src']=$atts['wmv']; }elseif(!empty( $atts['flv'] )) { $atts['src']=$atts['flv']; } }; $video_attr_strings = array(); foreach ( $atts as $k => $v ) { if ( $v == '' ) continue; $video_attr_strings[] = $k . '="' . esc_attr( $v ) . '"'; } $html .= sprintf( '[dplayer %s]', join( ' ', $video_attr_strings ) ); return do_shortcode( $html ); } if ( ! is_admin() ){ add_filter( 'wp_video_shortcode_override' , 'override_wp_video_shortcode', 1, 2 ); } add_action('init', 'more_button'); function more_button() { if (!current_user_can('edit_posts') && !current_user_can('edit_pages')) { return; } if (get_user_option('rich_editing') == 'true') { add_filter('mce_external_plugins', 'add_plugin'); add_filter('mce_buttons', 'register_button'); } } function add_more_buttons($buttons) { $buttons[] = 'hr'; $buttons[] = 'wp_page'; $buttons[] = 'fontsizeselect'; $buttons[] = 'styleselect'; return $buttons; } add_filter("mce_buttons", "add_more_buttons"); function register_button($buttons) { array_push($buttons, " ", "h2title"); array_push($buttons, " ", "kbd"); array_push($buttons, " ", "mark"); array_push($buttons, " ", "striped"); array_push($buttons, " ", "bdbtn"); array_push($buttons, " ", "reply"); array_push($buttons, " ", "accordion"); array_push($buttons, " ", "dplayer"); array_push($buttons, " ", "music"); array_push($buttons, " ", "vqq"); array_push($buttons, " ", "youtube"); array_push($buttons, " ", "bilibili"); array_push($buttons, " ", "success"); array_push($buttons, " ", "info"); array_push($buttons, " ", "warning"); array_push($buttons, " ", "danger"); array_push($buttons, " ", "successbox"); array_push($buttons, " ", "infoboxs"); array_push($buttons, " ", "warningbox"); array_push($buttons, " ", "dangerbox"); return $buttons; } function add_plugin($plugin_array) { $plugin_array['h2title'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['kbd'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['mark'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['striped'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['bdbtn'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['reply'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['accordion'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['music'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['vqq'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['youtube'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['bilibili'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['success'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['info'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['warning'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['danger'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['successbox'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['infoboxs'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['warningbox'] = ASSET_PATH . '/assets/js/buttons/more.js'; $plugin_array['dangerbox'] = ASSET_PATH . '/assets/js/buttons/more.js'; return $plugin_array; }