Одной из важнейших составных частей блога на движке WordPress является админка или консоль. Именно с ее помощью пользователи имеют возможность управлять дизайном сайта, сообщениями и многим другим. Разработчики сайтов должны осуществлять контроль над админкой, чтобы действия клиента не влияли на внешний вид ресурса и его функциональность. Делать ...
Если у вас есть желание и средства строить дом за городом, то в первую очередь при реализации этой задачи необходимо создать его проект. Проект загородного дома — дело очень не простое и требует грамотного подхода, поэтому доверять его нужно непременно профессионалам.
- Предыдущие по меткам
- Предыдущие записи
- Нумерация комментариев в WordPress ← 12.Мар.2011 // 44
- Рекламный блок в тексте статьи ← 17.Дек.2010 // 34
- Заранее установленный текст для нового поста в WordPress (the_editor_content) ← 9.Дек.2010 // 4
- Настраиваем robots.txt для WordPress ← 29 Июль 2011 // 52
- Меню на jQuery ← 28 Июль 2011 // 14
- Пишем плагин: Методы деинсталяции плагинов ← 13 Июль 2011 // 6
Снова здравствуйте.
Может я не по теме пишу, но прошу не ругать меня строго.
Вообщем, такая есть небольшая проблемка.
Нужно мне сделать, так чтобы у меня была выпадающее меню или прыгающее как у вас на сайте. Ну, тоесть чтобы можно было нажать "История" и выпало "История Франции","История России" и тд. ( Например, верхняя панель админки вордпресса такая) Я как не пытался сделать это, но к сожалению не получилось. Заглавную рубрику видно, а остальные нет. 
Изучайте CSS или заплатите чтобы сделали вам. Чего-то другого посоветовать сложно.
ясно, спасибо за ответ.
А в каком файле редактируется меню? ( Прощу прощения за глупый вопрос).
Еще один фокус с админкой - после регистрации перенаправляет пользователя на главную страницу (не посылает юзера в админку)
// Redirect admins to the dashboard and other users elsewhere add_filter( 'login_redirect', 'my_login_redirect', 10, 3 ); function my_login_redirect( $redirect_to, $request, $user ) { // Is there a user? if ( is_array( $user->roles ) ) { // Is it an administrator? if ( in_array( 'administrator', $user->roles ) ) return home_url( '/wp-admin/' ); else return home_url(); // return get_permalink( 83 ); } }Для того кто публикует посты - это бессмысленно, но для обычного комментатора - нужная вещь. Можно доработать и перенаправлять на ту страницу с которой был вход, и добавить поддержку ролей пользователя чтобы на автора этот код не распространялся (как я понял "10" - означает чтобы код не работал для админа, заместо return home_url(); вы можете указать нужную вам страницу: return get_permalink( 83 ); )
if ( (isset($_GET['action']) && $_GET['action'] != 'logout') || (isset($_POST['login_location']) && !empty($_POST['login_location'])) ) { add_filter('login_redirect', 'my_login_redirect', 10, 3); function my_login_redirect() { $location = $_SERVER['HTTP_REFERER']; wp_safe_redirect($location); exit(); } }- этот код в файле functions.php возвратит на просматриваемую страницу
p.s. сам еще не проверял. К примеру будет ли работать 2й код если я зашел на сайт прямым входом (ввёл в строке браузера адрес)?
// Add a warning box to the settings page // Uses the same style box as the WordPress Update "update-nag" function my_admin_notice(){ global $current_screen; if ( $current_screen->parent_base == 'options-general' ){ echo '<div id="admin-settings-warning-box"><strong>Warning</strong> - changing settings on these pages may cause problems with your website’s design!</div>'; } } add_action('admin_notices', 'my_admin_notice');- добавляет предупреждения на странице настроек
// Add your own Admin Dashboard footer credits function wp_admin_dashboard_custom_footer_text( $default_text ) { return '<span id="footer-thankyou">Website created by <a href="http://www.www.gravitationalfx.com" target="_blank" title="Affordable Web Design in Dublin Ireland">Gravitational FX</a><span> | Powered by <a href="http://www.wordpress.org" target="_blank">WordPress</a>'; } add_filter( 'admin_footer_text', 'wp_admin_dashboard_custom_footer_text' );- в футере вы можете указать как с вами связаться (с программистом или как вам там называют
)
// Remove the favourite actions drop-down menu function wp_admin_dashboard_remove_fav_actions(){ return array(); } add_filter('favorite_actions','wp_admin_dashboard_remove_fav_actions');- удаляет любимые действия (“favourite actions” ) - выпадающий список
информация с этого сайта
2й пункт можно добавить. Изменить полностью форму регистрации через замену стиля login.css:
в functions.php добавить
//Custom Login Page function custom_login() { echo ' '; } add_action('login_head', 'custom_login');затем создать custom-login.css и поместить туда код:
/* Custom Login Styles */ html {background:url("bg-gradient.png") repeat-x scroll 0 0 #FF0000 } h1 a { background:url("brand2.png") 0 0 no-repeat; width:330px; height:130px; } h1 a:hover {border: none;} #backtoblog { background: -moz-linear-gradient(100% 100% 90deg, #FFFFFF, #E4E4E4); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFFFFF), to(#E4E4E4)); } body.login {border-top-color:#dff4fc;} .login p#backtoblog a:link, .login p#backtoblog a:visited {color:#17272d;} .login p#backtoblog a:hover, .login p#backtoblog a:active {color:#17272d;text-decoration:underline;} a {color: #FF0000; text-decoration: none;} a:hover {color: #AB0404; } .login #nav a { color:#FFF !important; } .login #nav a:hover { color:#D5D5D6 !important; }в корневой папке блога создать папку custom-login и поместить туда созданный файл стилей.
более продвинутая стилизация тут
в админ бар добавляет ссылки:
function my_admin_bar_menu() { global $wp_admin_bar; if ( !is_super_admin() || !is_admin_bar_showing() ) return; $wp_admin_bar->add_menu( array( 'id' => 'custom_menu', 'title' => __( 'SumTips Menu'), 'href' => FALSE ) ); $wp_admin_bar->add_menu( array( 'parent' => 'custom_menu', 'title' => __( 'My First Link'), 'href' => 'http://sumtips.com/' ) ); $wp_admin_bar->add_menu( array( 'parent' => 'custom_menu', 'title' => __( 'My Second Link'), 'href' => '#' ) ); } add_action('admin_bar_menu', 'my_admin_bar_menu');- необходимо для клиента если ему нужно отслеживать себя в соц сетях, или переход например в яндекс метрику (клиент бывает хочет и такое- ему лень внизу по счетчику кликнуть)
function admin_bar_delete_option() { global $wp_admin_bar; if ( !is_super_admin() || !is_admin_bar_showing() ) return; $current_object = get_queried_object(); if ( !empty( $current_object->post_type ) && ( $post_type_object = get_post_type_object( $current_object->post_type ) ) && current_user_can( $post_type_object->cap->edit_post, $current_object->ID ) ) { $wp_admin_bar->add_menu( array( 'id' => 'delete', 'title' => __('Delete'), 'href' => get_delete_post_link($current_object->term_id) ) ); } } add_action( 'admin_bar_menu', 'admin_bar_delete_option', 40 );- а это добавляет кнопки удалить и редактировать пост и страницу
взято с сайта
Этот код может вам изменить описание у кнопки возврата на главную страницу сайта:
// Customize Admin header title (replaces site title / bloginfo('name') ) function replace_admin_bloginfo_name($output) { if ( is_admin() ) { $output = 'Back to Home page »'; } return $output; } add_filter( 'bloginfo', 'replace_admin_bloginfo_name' );-замените вашим текстом 'Back to Home page »'
function remove_editor_menu() { remove_action('admin_menu', '_add_themes_utility_last', 101); } add_action('_admin_menu', 'remove_editor_menu', 1);- удаляет редактор темы вордпресс
function customize_meta_boxes() { /* Removes meta boxes from Posts */ remove_meta_box('postcustom','post','normal'); remove_meta_box('trackbacksdiv','post','normal'); remove_meta_box('commentstatusdiv','post','normal'); remove_meta_box('commentsdiv','post','normal'); remove_meta_box('tagsdiv-post_tag','post','normal'); remove_meta_box('postexcerpt','post','normal'); /* Removes meta boxes from pages */ remove_meta_box('postcustom','page','normal'); remove_meta_box('trackbacksdiv','page','normal'); remove_meta_box('commentstatusdiv','page','normal'); remove_meta_box('commentsdiv','page','normal'); } add_action('admin_init','customize_meta_boxes');- этот код в написании поста отключает трекбеки, комментарии (настройка разрешены или нет), теги и т.д.
можно даже удалить кнопку "Опубликовать":
function remove_publish_box() { remove_meta_box( 'submitdiv', 'custom_post_slug', 'side' ); } add_action( 'admin_menu', 'remove_publish_box' );- тем самым пост будет сохраняться только автоматически .
add_editor_style ('CSS / редактора style.css');- изменить стиль WYSIWYG редактора (под ваш дизайн)
источник и кодекс
В дополнение 1 пункта.
Понадобилось мне по уровням пользователя ограничить доступ к меню (в примере к консоли)
Этот код, всем пользователям, уровень которых менее 3 не будет показывать консоль:
function remove_menus() { //получаем текущий уровень пользователя (level) global $current_user; get_currentuserinfo(); //если текущий уровень пользователя ниже 3, удаляем ему ссылку на консоль (Dashboard) if ($current_user->user_level < 3) { global $menu; $restricted = array(__('Dashboard')); end ($menu); while (prev($menu)){ $value = explode(' ', $menu[key($menu)][0]); if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);} } } } add_action('admin_init','remove_menus');то-есть Подписчик (обычный зареганный пользователь) не увидит кроме своего профиля в админке ничего
Всплыла небольшая проблемка - мы удалили консоль из админки, но забыли про админ бар (вверху полоска с навигацией). Ниже код который уберет ссылку на консоль из админ бара
function on_admin_bar_render() { //retrieve current user info global $current_user; get_currentuserinfo(); if ($current_user->user_level < 3) { global $wp_admin_bar; $wp_admin_bar->remove_menu('dashboard'); } } add_action( 'wp_before_admin_bar_render', 'on_admin_bar_render' );function my_remove_adminmenu(){ global $menu; $menu = array(); echo "<style type='text/css'>#adminmenuwrap, #adminmenuback{display:none!important;} #wpcontent{margin-left:10px!important;}</style>"; } add_action('admin_head', 'my_remove_adminmenu');А этот код полностью удалит панель слева
.При желании можно по уровням пользователей смастерить
У мня вообще трабла появилась:
1) Во первых пропало в админке выпадающее меню в консоле на обновление плагинов и движка...
2) При заходе на /wp-admin/update-core.php выдается "Вы не имеете достаточно прав для доступа к данной странице."
Префиксы никакие не менял в конфиге стоит wp_1 и в таблицах тоже самое... Т.е. разночтения нет... Права тоже вроде проверил на папке wp-admin 700 на файлах внутри 644...
Голову сломал уже... Можете подсказать, плиз!
после каких действий эта "трабла" появилась? в functions.php что прописывали или последние установленные плагины?