Изменить порядок полей на странице добавления / изменения записей

Подскажите пожалуйста, как с помощью плагина можно изменить порядок полей на странице добавления записи. Другими словами, я хочу чтобы поле "Excerpt" было сразу после поля "Title", а потом уже "Post", "Tags" и т.д.

Перерыл весь Plugin Api и ничего похожего… Добавить своё поле – просто, а вот изменить положение существующего – проблема…

Если действительно нет ничего похожего, то на крайний случай можно написать жабаскрипт, убирающий в DOM ненужное и добавляющий нужное.

Если действительно нет ничего похожего, то на крайний случай можно написать жабаскрипт, убирающий в DOM ненужное и добавляющий нужное.

Спасибо, за совет. Если не найду своё решения, буду использовать ваше )

Можно изменить файл написания поста вручную, либо же создать свой плагин для изменения админки 🙂

Можно изменить файл написания поста вручную, либо же создать свой плагин для изменения админки :)

Нет, в ручную править никак нельзя. Моя тема + плагин, должны быть самодостаточны, без исправления исходников самого WordPress`a.

> либо же создать свой плагин для изменения админки
Дык вот это и интересует ) Хотя бы направление, куда копать )

P.S. Пока не нашёл решение с плагином, сделал с помощью JS. Если кому интересно:

В плагине создаем свой action:

add_action('admin_footer', 'my_admin_footer');

function my_admin_footer() {
?>
<script type = "text/javascript" charset = "utf-8">
e1 = document.getElementById('postexcerpt');
     e1.className = e1.className.replace(/ ?closed/, '');
e2 = document.getElementById('titlediv');
     e2.parentNode.insertBefore(e1, e2.nextSibling); 
e3 = document.getElementById('excerpt');
     e3.style.height = '100px';
</script>
<?php
}

И все… Криво, но работает )

Я делал так:

в папке темы в functions.php пишим это:

function theme_post_new(){
    global $post;
    include(dirname(__FILE__).'/inc/post-new.php');
    exit();
}
function theme_post(){
    global $post;
    include(dirname(__FILE__).'/inc/post.php');
    exit();
}
add_action('load-post-new.php', 'theme_post_new');
add_action('load-post.php', 'theme_post');

Затем создаем папку INC и кидаем туда копии файлов post.php и post-new.php

И правим их в свое удовольствие !

Будет только небольшая проблема с переменными. т.к. теперь область видимости в приделах наших функций, и приедется немного подогнать код под новые обстаятельства.

Но метод проверенный.

Я делал по этому туториалу
http://wefunction.com/2008/10/tutorial-creating-custom-write-panels-in-wordpress/

2fear86
Спасибо. Хотя это не кошерно, но похоже то что надо )

2buriduri. Отличный материал, спасибо большое.

Оказывается можно не делать плагин, а поместить его код в functions.php темы и все будет работать точно так же… Знатоки WordPress`a, подскажите насколько это правильно или все таки лучше вынести дополнительный функционал в отдельный плагин?

Оба подхода правильные, ибо используют API движка. Разница, в общем, в двух моментах:
– плагин можно отключить из админки, код в functions-php – только редактированием файла.
– плагин работает с любой Темой, код в functions.php при смене Темы придётся копировать в новую.

Всем большое спасибо. Разобрался )

Anonymous
Отправить
Ответ на: