Как перенаправить на найденный пост?

Если при поиске по блогу был найден только один результат, то чтобы пользователю не совершать лишних действий имеет смысл сразу перенаправить на этот пост.

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

add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
    if (is_search()) {
        global $wp_query;
        if ($wp_query->post_count == 1) {
            wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
            die;
        }
    }
}

Найдено на WpRecipes.com

Добавляем кнопки к редактору в полноэкранном режиме

На прошлой неделе я уже писал как добавить кнопки к текстовому редактору. Однако я совсем упустил из виду что есть еще и полноэкранный режим редактирования (который появился в WordPress версии 3.2)

Исправляю свою оплошность.

add_filter('wp_fullscreen_buttons', 'foo_fullscreen_button');
function foo_fullscreen_button($buttons) {
  $buttons[] = 'separator';
 
  $buttons['foo_button'] = array(
    'title' => __('Foo Button'),
    'onclick' => "alert('Hello World');",
    'both' => true //отображать нашу кнопку и в HTML-редакторе и в Visual-редакторе
  );
  return $buttons;
}

Ссылки по теме:

Добавляем кнопки к редактору WordPress

Добавление кнопки к HTML-редактору.

Для этого необходимо использовать javascript функцию QTags.addButton, которая выглядит следующим образом:

QTags.addButton(id, display, arg1, arg2, access_key, title, priority, instance);

наиболее используемые параметры:

id – уникальный id нашей кнопки;

display – имя, которое будет отображаться;

arg1 – открвыающий тэг;

arg2 – закрывающий тэг;

access_key – горячая клавиша;

title – аттрибут title кнопки.

Пример:

<script type="text/javascript">// <![CDATA[
QTags.addButton('fb_button', 'button_name', '[button]', '[/button]', 'b', 'button_name');
// ]]></script>

Также вместо открывающего/закрывающего тэга можно использовать ф-цию, которая будет выполняться при нажатии на кнопку:

<script type="text/javascript">// <![CDATA[
QTags.addButton('fb_button', 'button_name', fb_callback);
 
function fb_callback() {
alert('Hello World!');
}
// ]]></script>

Добавление кнопки к visual-редактору.

add_action('init', 'foo_addbuttons');
function foo_addbuttons() {
  if (!current_user_can('edit_posts') &amp;&amp; !current_user_can('edit_pages')) return;
 
  if (get_user_option('rich_editing')=='true') {
    add_filter('mce_buttons', 'foo_mce_register_button');
    add_filter("mce_external_plugins", "foo_add_tinymce_plugin");
  }
}
 
//регистрируем кнопку
function foo_mce_register_button($buttons) {
  array_push($buttons, '|', 'foo_button');
  return $buttons;
}
 
//добавляем плагин к TinyMCE
function foo_add_tinymce_plugin($plugin_array) {
  $plugin_array['foo_button'] = get_stylesheet_directory_uri() . '/js/foo_mce_plugin.js';
  return $plugin_array;
}

Теперь в папке js темы (для плагина, думаю не составит труда изменить путь) создаем файл со скриптом плагина для TinyMCE (foo_mce_plugin.js):

(function() {
  tinymce.create('tinymce.plugins.foo', {
    init: function(ed, url) {
      ed.addButton('foo_button', {
        title: 'Foo Button',
        image: url + '/foo_btn.gif',
        onclick: function() {
          ed.windowManager.alert('Hello world!');
        }
      });
    },
    createControl: function(n, cm) {
      return null;
    },
    getInfo: function() {
      return {
        longname : 'FooBar Button',
        author : 'John Doe',
        authorurl : 'http://JohnDoe.tld/',
        infourl : 'http://FooBar.JohnDoe.tld/',
        version : '1.0'
      };
    }
  });
  tinymce.PluginManager.add('foo_button', tinymce.plugins.foo);
})();

Ссылки по теме: