/** * Outputs the snippet box where a user can paste and modify a snippet. * * The textarea will be formatted by CodeMirror for code editing. * * @since 1.0.0 * * @global object $post The current post object */ public function snippet() { global $post; if (!Cwwp_Init::is_snippet_screen()) { return; } settings_errors('cwwp-snippets'); wp_nonce_field('cwwp-snips', 'cwwp-snips'); ?> <h4 class="top-title"><?php _e('Code Snippet', 'cwwp-custom-snippets'); ?> </h4> <p><?php printf(__('Paste your code snippet into the code editor below. Leave out any opening (%s) and closing (%s) php tags.', 'cwwp-custom-snippets'), '<code><strong><?php</strong></code>', '<code><strong>?></strong></code>'); ?> </p> <textarea id="cwwp-code-snippet" name="cwwp-code-snippet" spellcheck="false"><?php echo stripslashes(trim(self::get_code_snippet($post->ID))); ?> </textarea> <h4><?php _e('Code Snippet Description', 'cwwp-custom-snippets'); ?> </h4> <p><?php _e('Describe your code snippet using the editor below. Although optional, it is highly recommended to do this for future reference.', 'cwwp-custom-snippets'); ?> </p> <?php wp_editor(get_post_meta($post->ID, '_cwwp_code_snippet_desc', true), 'cwwp-code-snippet-desc', array('wpautop' => false, 'media_buttons' => false, 'teeny' => true, 'quicktags' => false, 'textarea_rows' => 4)); ?> <?php }
/** * Constructor. Hooks all interactions into correct areas to start * the class. * * @since 1.0.0 */ public function __construct() { /** Store the object in a static property */ self::$instance = $this; /** Load the plugin */ add_action('plugins_loaded', array($this, 'init')); }
/** * Enqueues necessary scripts and styles for the plugin. * * @since 1.0.0 * * @global int $id The current post ID * @global object $post The current post object */ public function assets() { global $id, $post; /** Register and enqueue scripts and styles */ $dev = WP_DEBUG || WP_SCRIP_DEBUG ? '-dev' : ''; if (Cwwp_Init::is_snippet_screen()) { wp_register_style('cwwp-admin', plugins_url('/css/admin' . $dev . '.css', dirname(dirname(__FILE__)))); wp_enqueue_style('cwwp-admin'); } if (Cwwp_Init::is_snippet_add_edit_screen()) { wp_register_script('cwwp-admin', plugins_url('/js/admin' . $dev . '.js', dirname(dirname(__FILE__))), array('jquery', 'cwwp-codemirror', 'cwwp-codemirror-php'), '1.0.0', true); wp_register_script('cwwp-codemirror', plugins_url('/js/codemirror' . $dev . '.js', dirname(dirname(__FILE__))), array(), '1.0.0', true); wp_register_script('cwwp-codemirror-php', plugins_url('/js/codemirror-php' . $dev . '.js', dirname(dirname(__FILE__))), array('cwwp-codemirror'), '1.0.0', true); wp_register_script('cwwp-codemirror-html', plugins_url('/js/codemirror-html' . $dev . '.js', dirname(dirname(__FILE__))), array('cwwp-codemirror'), '1.0.0', true); wp_register_script('cwwp-codemirror-css', plugins_url('/js/codemirror-css' . $dev . '.js', dirname(dirname(__FILE__))), array('cwwp-codemirror'), '1.0.0', true); wp_register_script('cwwp-codemirror-js', plugins_url('/js/codemirror-js' . $dev . '.js', dirname(dirname(__FILE__))), array('cwwp-codemirror'), '1.0.0', true); wp_register_script('cwwp-codemirror-xml', plugins_url('/js/codemirror-xml' . $dev . '.js', dirname(dirname(__FILE__))), array('cwwp-codemirror'), '1.0.0', true); wp_register_script('cwwp-codemirror-clike', plugins_url('/js/codemirror-clike' . $dev . '.js', dirname(dirname(__FILE__))), array('cwwp-codemirror'), '1.0.0', true); wp_register_style('cwwp-codemirror', plugins_url('/css/codemirror' . $dev . '.css', dirname(dirname(__FILE__)))); wp_register_style('cwwp-codemirror-elegant', plugins_url('/css/codemirror-elegant' . $dev . '.css', dirname(dirname(__FILE__)))); wp_enqueue_script('cwwp-admin'); wp_enqueue_script('cwwp-codemirror'); wp_enqueue_script('cwwp-codemirror-php'); wp_enqueue_script('cwwp-codemirror-html'); wp_enqueue_script('cwwp-codemirror-css'); wp_enqueue_script('cwwp-codemirror-js'); wp_enqueue_script('cwwp-codemirror-xml'); wp_enqueue_script('cwwp-codemirror-clike'); wp_enqueue_style('cwwp-codemirror'); wp_enqueue_style('cwwp-codemirror-elegant'); /** Localize the admin script */ $post_id = null === $id ? $post->ID : $id; $args = array('nonce' => wp_create_nonce('cwwp-save-snippet'), 'post_id' => $post_id, 'url' => admin_url('admin-ajax.php')); wp_localize_script('cwwp-admin', 'cwwp', $args); } }
/** * Filter out unnecessary row actions from the code snippets post table. * * @since 1.0.0 * * @param array $actions Default row actions * @return array $actions Amended row actions */ public function row_actions($actions) { if (Cwwp_Init::is_snippet_screen()) { unset($actions['inline hide-if-no-js']); unset($actions['view']); } return $actions; }