Git Product home page Git Product logo

wp-shortcode-ui-richtext's Introduction

Shortcake (Shortcode UI) Richtext

Contributors: xwp, mihai2u Tags: shortcodes Requires at least: 4.5 Tested up to: 4.9.4 Stable tag: 1.2 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html

Plugin for adding rich text editing capabilities to textareas in Shortcake.

Description

This plug-in extends on the capabilities of Shortcake (Shortcode UI) by adding rich text editing capabilities to textarea inputs in the Shortcake interface, when the specific textarea constructors contain the shortcake-richtext class name.

It uses TinyMCE.

Installation

You need the latest version of of [Shortcake (Shortcode UI)] installed and activated.

  1. Upload the plugin files to the /wp-content/plugins/shortcode-ui-richtext directory.
  2. Activate the plugin through the 'Plugins' screen in WordPress
  3. Add the meta class option to the textarea input type of an existing shortcake register_for_shortcode call.
  4. Due to the possibility of the user entered content to contain special characters like [, ] and ", it is highly recommended to turn on the encode flag as well.
'encode' => true,
'meta'  => array(
	'class' => 'shortcake-richtext',
),

Frequently Asked Questions

How does an example rich textarea input element shortcake register code looks like?

This is a default shortcode with a single textarea:

shortcode_ui_register_for_shortcode( 'shortcode_name',
	array(
		'label'         => esc_html__( 'Shortcode Name', 'namespace' ),
		'listItemImage' => 'dashicons-text',
		'attrs'         => array(
			array(
				'label' => esc_html__( 'Text Element', 'namespace' ),
				'attr'  => 'text_element',
				'type'  => 'textarea',
			),
		),
	)
);

This is the same code with the richtext capability added in on the text_element:

shortcode_ui_register_for_shortcode( 'shortcode_name',
	array(
		'label'         => esc_html__( 'Shortcode Name', 'namespace' ),
		'listItemImage' => 'dashicons-text',
		'attrs'         => array(
			array(
				'label' => esc_html__( 'Text Element', 'namespace' ),
				'attr'  => 'text_element',
				'type'  => 'textarea',
				'encode' => true,
				'meta'  => array(
						'class' => 'shortcake-richtext',
				),
			),
		),
	)
);

Outputting requires decoding, and since Shortcake uses url encoding, the attribute powered by the rich text editor needs to be urldecoded before rendering its contents, like in the following example using the urldecode function:

function shortcode_name( $atts ) {
	extract( shortcode_atts(
		array(
			'text_element' => '',
		),
		$atts
	));
	return '<div>' . urldecode( $text_element ) . '</div>';
}

This doesn't work although I added the class according to the instructions. Am I missing anything?

Before submitting a report on the GitHub Issue tracker, please ensure the issue you are experiencing does not exist with using the latest Shortcake (Shortcode UI) version downloaded from their own GitHub repository.

Screenshots

1. This screenshot shows a rich text enabled textarea in the Shortcake interface.

[missing image]

Changelog

0.1

August 19, 2016 - Initial release.

0.2

October 3, 2016 - Modified SummerNote default configuration to initialise a toolbar which is more Wordpress-friendly. Added more examples to the readme. Ads default rich text editing to the shortcode inner_content.

1.0

April 25, 2017 - Replaced SummerNote by highly requested TinyMCE for a familiar Wordpress experience.

1.1

September 11, 2017 - "Add Media" button is now present next to the TinyMCE editor.

1.2

March 15, 2018 - Fixes issues with multiple editors on page and timing issues with initialising and unloading TinyMCE.

1.3

March 24, 2018 - Fix active editor modal bug occurring when multiple fields had editors.

Upgrade Notice

0.1

Initial version. No need to upgrade.

0.2

Upgrade to receive the rich text editor on the shortcode inner_content area.

1.0

Upgrade to use TinyMCE instead of SummerNote. The HTML code editing is not available anymore for rich text elements.

wp-shortcode-ui-richtext's People

Contributors

mehigh avatar cyruscollier avatar nicoladj77 avatar kuliebiakin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.