Публикация поста в несколько кликов для посетителей. WordPress

Мой киевский коллега, вебмастер, пишет о Заработке в Сети . Его блог сфокусирован на SEO. Автор участвует в новом СапоМарафоне, где занимает топовые позиции.

Сегодня публикую технический пост от Лены. На самом деле, мы довольно долго решали описанную в посте задачу,  но она реально была нашим блокером,  важной фишкой, без которой мы не могли продвинуться дальше.  Я не знаю, почему Лена так мало написала о решении данного вопроса, могла более подробно описать весь наш “процесс эволюции” и реализации. Что же, ОНА оставила саму СУТЬ,  а все остальное думаю не так важно. В итоге имеем короткою и четкую инструкцию.

В этом посте,  Лена опишет решение задачи быстрой и удобной публикации постов пользователями на ваших сайтах. Цель была, свести процесс публикации поста обычным пользователем интернета ( не веб-мастером ) к нескольким кликам, что бы процесс написания поста, был похож на добавление нового твита.  Это и было реализовано.  Мы очень ценим быстроту и удобство, которые мы можем предоставить пользователю. Эта статья, является логическим продолжением поста, о предоставлении пользователю возможности быстрого логина на ваш сайт с помощю соц сервисов.

Слово Лене


Данный пост можно было бы назвать «В поисках переменной» или «Исходный код где-то рядом». :) Шутки шутками, а мы перейдем к делу!
Вот почему-то старалась обходить WordPress стороной для создания социальных сетей, казалось бы и BuddyPress должен решать много проблем. К примеру написание поста. Т.е. юзверю нужно заходить в админку для опубликования записи, что ужасно не удобно. В Drupal такой проблемы нет, там и админка непосредственно внутри сайта. Но раз речь зашла о WordPress и BuddyPress, то будем наводить с ними порядки. Нашлись 2 плагина для BuddyPress для быстрого поста, но они как-то странно не хотели работать и, разобравшись с инструкциями от авторов плагинов оказалось, что у них не реализована функция вставки картинки прямо с компьютера. Беда…
И вот в момент блуждания по админке WordPress нашла чудную ссылку в «Инструменты» «Опубликовать это!» (это маленькое приложение, запускаемое из вашего браузера и позволяющее вам выхватывать интересную информацию из Сети, перетаскивая тескт мышкой в окошко) и решила довести до ума, т.е. убрать лишнее, настроить скрипт вставки картинки прямо как в админке. Но знаний в php мало, благо ребята на форумах помогли.
Итак, поехали!

1) Вставляем скрипт самой кнопки в сайдбар (куда именно не подскажу, ибо шаблоны бывают разные), стили настроите сами под ваш дизайн:

<?php if ( current_user_can('edit_posts') ) : ?>
<div class="tool-box">
<p class="pressthis"><a href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>" title="Опубликовать Пост!">Опубликовать Пост! </a></p>
</div>
<?php
endif;
do_action( 'tool_box' );
?>

2) Ищем файлик wp-admin/press-this.php на хосте и открываем в блокнотике.

3) Избавляемся от лишних линков в формах
Удаляем строки 579-588 что заключено в теге textarea:

579
580
581
582
583
584
585
586
587
588
<?php
	if ( $selection )
	echo wp_richedit_pre($selection);
	if ( $url ) {
            	echo '<p>';
			if ( $selection )
			_e('via ');
			printf( "<a href='%s'>%s</a>.</p>", esc_url( $url ), esc_html( $title ) );
					}
?>

еще в строке 550:

550
<input name="title" id="title" class="text" value="<?php echo esc_attr($title);?>"/>

чистим значение value, т.е. удаляем

<?php echo esc_attr($title);?>

4) Заменяем предложенные кнопки вставки видео и картинки на наши.
Ищем код 559-563:

556
557
558
559
560
561
562
563
	<li id="photo_button">
					Add: <?php if ( current_user_can('upload_files') ) { ?><a title="<?php _e('Insert an Image'); ?>" href="#">
<img alt="<?php _e('Insert an Image'); ?>" src="images/media-button-image.gif"/></a>
					<?php } ?>
				</li>
				<li id="video_button">
					<a title="<?php _e('Embed a Video'); ?>" href="#"><img alt="<?php _e('Embed a Video'); ?>" src="images/media-button-video.gif"/></a>
				</li>

И ставим вместо него:

<li id="photo_button">
<?php if ( current_user_can( 'upload_files' ) ) : do_action( 'media_buttons' ); endif; ?>
</li>

5) Заставляем работать кнопку «Вставить в запись».
Ищем строку 325 с кодом:

325
wp_enqueue_script( 'editor' );

и вставляем после него:

wp_enqueue_script('media-upload');

6) Сохраняем и перезаписываем с заменой на хост! И не забываем создать резервную копию файлика на «а вдруг».

З.Ы.
Номера строк указаны приблизительно. Работает на WordPress 2.9.2, с версией 3.0 еще нужно поработать.
Для особо ленивых готовый файлик press-this.php берем тут. В файле висит без дела скрипт jQuery для предыдущих кнопок вставки видео и картинок, можете удалить если не боитесь! ;)

с/у Елена


Недавно познакомился с блогом neverlex.com, блогом интересного веб-мастера, который затрагивает такие темы как “Простое и удобное создание интернет магазина” . Благодаря neverlex.com, вы сможете быстро подтянуть свои знание веб-программирования.

Понравилась статья? Дальше ещё интересней и полезней!
Не пропусти - прочитай новую статью в RSS или

получи обновления на почту:
  • а как бы сюда добавить ещё одно произвольное поле? причём желательно чтоб ключь был автоматом - тоесть была просто формочка и описание а на сайте выводилось как обычное поле

  • Barbarabel

    Спасибо Лене! Очень пригодилось!

  • Познавательная статья!

  • Лена всегда пишет кратко и по делу ) Как настоящий инженер

  • Странный спамер :-)

  • Nick12

    ОГО! Што гэта на свеце робицца :)

blog comments powered by Disqus