Как создать шорткод для вставки изображений в комментариях

Я уже писал о шорткодах. Например, о том, как использовать шорткод постоянной, вечной внутренней ссылки, причем такой, которая в будущем не изменит свое значение, как бы вы не меняли структуру блога. Или о том, как самостоятельно сделать шорткод с помощью плагина Shortcoder. В общем, всем понятно, что шорткоды – очень удобный инструмент, намного облегчающий работу с блогом, причем не только блоггеру, но и посетителям. Часто у посетителей блога возникают проблемы со вставкой картинок в комментарии. Давайте облегчим им эту задачу, и без посторонних плагинов создадим простой шорткод, позволяющий вставлять изображения в комментарии даже самым неискушенным пользователям.

Для этого воспользуемся файлом functions.php – создадим в нем функцию, преобразующим ссылку на картинку в саму картинку. Откройте этот файл и вставьте в него такой код:

//IMG shortcode start
function ImgShortcode($atts, $content = null) {
	extract(shortcode_atts(array(
	), $atts));
	return '';
}
add_shortcode("img", "ImgShortcode");

function embed_images($content) {
	$content = preg_replace('/[img=?]*(.*?)([/img)?]/e', '""', $content);
	return $content;
}

function embed_image_instructions($id) {
	echo '
	
	
	
	
						?
						+
	
	';
	return $id;
}

add_filter('comment_text', 'embed_images');
add_action('comment_form', 'embed_image_instructions');
//IMG shortcode end

Этот код создает функцию, которая создает шорткод [img], с помощью которого можно вставлять картинки в комментарии и содержимое постов, причем я специально усложнил шорткод таким образом, чтобы картинка являлась ссылкой на саму себя – это упрощает копирование ссылки на картинку для других, открывая изображение в полном размере в отдельном окне.

Пример:

[img]https://n-wp.ru/files/default.jpg[/img]

Использовать этот шорткод очень легко: [img]http://n-wp.ru/files/default.jpg[/img]

Этот шоркод выведет изображение default.jpg, сделав его ссылкой на себя же. Пользуйтесь!

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

1 Kомментарий

  1. Проблема.

    Вот код:

    //Strong shortcode start
    
    function StrongShortcode($atts, $content = null) {
        extract(shortcode_atts(array(
        ), $atts));
        return ''.$content.'';
    }
    add_shortcode("strong", "StrongShortcode");
    
    //Strong shortcode end
    
    //Italic shortcode start
    
    function ItalicShortcode($atts, $content = null) {
        extract(shortcode_atts(array(
        ), $atts));
        return ''.$content.'';
    }
    add_shortcode("em", "ItalicShortcode");
    
    //Italic shortcode end
    

    Так вот, проблема в том, что в случае использования в комментарии вложенности шорткодов, работать будет только один из них.

    Пример:

    [img]http://iceimg.com/i/bd/31/3a6abb2c4b.jpg[/img]

    Как победить?

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*