Все о WEB программировании. Wordpress loc
d-wp — плагин для оптимизации WordPress
Плагин d-wp пригодится для ускорения работы WordPress, а так же снижения нагрузки на сервер. Он разрабатывался с целью снизить нагрузку на сервер, чтобы можно было разместить больше сайтов на одном сервере, при этом, чтобы страницы загружались моментально. Так же в плагине есть функции для улучшения SEO оптимизации сайта, для очистки кода, для отключения ненужного функционала WordPress и для работы с контентом.
Какие задачи решает плагин?
- Способствует продвижению сайта в поисковых системах.
- Помогает экономить на тарифах хостинга.
- Объединяет множество полезных функций, заменяя множество небольших плагинов.
- Позволяет легко переносить конфиг.
- Предоставляет приятные условия покупки.
Основные функции плагина
Способствует улучшению SEO показателей сайта.
В d-wp собраны различные функции, которые позволяют положительно влиять на продвижение сайта в поисковых системах. Плагин позволяет управлять индексацией страниц и исключать дубли контента, очищает метатеги, очищает и сжимает html код, увеличивает скорость загрузки страниц.
Помогает ежемесячно экономить на тарифах хостинга.
Собственная система кэширования позволяет значительно снижать нагрузку на сервер. Таким образом вам не понадобится переезжать на более дорогой тариф, когда на сайте вырастет посещаемость или количество страниц. Так же на одном тарифе сможет расположиться большее количество сайтов.
Объединяет множество полезных функций, заменяя множество небольших плагинов.
У каждого опытного пользователя WordPress есть свой набор маленьких полезных плагинов, которые он устанавливает на свои сайты. У этого подхода есть свои недостатки о которых подробно написано вот в этой статье. Если коротко, то большое количество плагинов создает большую нагрузку, так как WordPress будет загружать каждый плагин отдельно и выделять под каждый плагин ресурсы, а так же считывать настройки каждого плагина из базы данных, что будет создавать дополнительную нагрузку на сервер и базу данных. К слову d-wp вообще не хранит настроек в базе данных.
Позволяет легко переносить конфиг.
Весь конфиг плагина хранится в отдельном файле, который легко переносить между сайтами. Поэтому, если у вас много сайтов, требующих одинаково настроенного плагина d-wp, достаточно просто один раз настроить конфиг на одном из сайтов, а затем просто переносить его между другими сайтами. Это очень удобно!
Приятные условия приобретения лицензии.
Приобретая лицензию на плагин, вы получаете неограниченный срок действия лицензии, бесплатные обновления, возможность использовать плагин на неограниченном количестве доменов, а так же бесплатную тех. поддержку.
d-wp.ru
База данных WordPress изнутри
WordPress, как и большинство других современных систем управления контентом, активно использует базу данных. Вся информация хранится в ней – настройки блога, записи, комментарии, ссылки, информация о пользователях и т.д. Поэтому необходимо понимать, как база организована, какие типы данных в ней хранятся, и как разные вещи взаимодействуют друг с другом.
Перед тем, как мы займёмся детальным изучением структуры базы, я хочу обратить Ваше внимание на три следующих момента:
1. WordPress API предоставляет некоторые возможности для управления данными без прямого обращения к базе. Поэтому, с технической стороны, Вам не нужно знать, как база данных организована. Но если Вы имеете об этом представление, возможно, Вы найдёте решения, которые будут более быстрыми и эффективными для достижения поставленной цели.
2. Структура базы данных WordPress проста и удобна. Бояться нечего. Она состоит всего из 10 таблиц с несколькими полями в каждой. После беглого ознакомления структура останется в Вашей памяти.
3. Структура базы данных WordPress хорошо документирована.
wp_posts
WordPress используется в основном как система управления контентом (CMS). Поэтому, на мой взгляд, таблица с контентом имеет основное значение. Страницы, записи, аттачменты, все это – контент, всё это WordPress хранит в одной таблице – wp_posts.
В действительности аттачменты хранятся как есть – в виде файлов на диске, но WordPress использует таблицу wp_posts для хранения мета-информации об аттачментах (например ID пользователя, который его загрузил, ID записи, которая ссылается на аттачмент, время загрузки и т.п.).
Страницы, записи и аттачменты могут быть очень похожи друг на друга, а могут сильно отличаться. Сначала мы рассмотрим, что общего между ними. Все три вида контента имеют уникальный идентификатор – ID (обычно создаётся автоматически WordPress'ом или MySQL), автора (человек, который написал запись или загрузил файл), дату, название (заголовок), и описание (даже если это поле пустое, его можно будет заполнить позже). Все три вида имеют URL. Итак, для каждой записи, страницы или аттачмента имеется запись в таблице wp_posts.
Теперь поговорим о различиях между ними. Чтобы отличить один тип контента от другого, в таблице wp_posts существует поле post_type. Для записей его значение – 'post', для страниц – 'page', для аттачментов – 'attachment'.
Сущещствует некоторое количество специальных полей. Например, поле post_mime_type используется для хранения типа файла аттачмента ('image/jpeg' и 'application/pdf'). Поле menu_order содержит порядковый номер отображения страницы в списке. Поле post_parent используется для организации страниц с «подстраницами», а так же для хранения информации о связи аттачмента с записью.
Для того, чтобы понять, как и когда используется то или иное поле, запустите следующие запросы (для каждого типа контента):
* SELECT * FROM wp_posts WHERE post_type = 'post' LIMIT 1 * SELECT * FROM wp_posts WHERE post_type = 'page' LIMIT 1 * SELECT * FROM wp_posts WHERE post_type = 'attachment' LIMIT 1В этой же таблице находится информация о состоянии записи/страницы. В большинстве случаев Вы увидите 'publish' для опубликованных записей, 'draft' для черновиков, и 'inherit' для аттачментов. С остальными состояниями Вы без проблем разберетесь сами.
Вот несколько примеров того, как может быть использована таблица wp_posts:
* Получение статистики – сколько записей вы всего написали, сколько записей написал тот или иной автор, какое количество записей публикуется в среднем за день и т.д.* Создать список всех аттачментов.* Создать галерею картинок для каждой записи (hint: "WHERE post_type = 'attachment' AND (post_mime_type = 'image/jpeg' OR post_mime_type = 'image/gif' OR post_mime_type = 'image/png')").
wp_postmeta
Существует миллион вещей, которые Вы, возможно, захотите проассоциировать со своей записью: Ваше настроение, название песни, которую Вы слушали, географическое местоположение, список ссылок на похожие записи, специфичную информацию для поисковых машин, и т.д. и т.п. Всё это хранится в таблице wp_postmeta.
Структура этой таблицы очень простая и гибкая. Она имеет всего четыре поля: meta_id, post_id, meta_key и meta_value. meta_id создаётся автоматически, и я не вижу ни одной причины, по которой его нужно было бы менять вручную. post_id соответствует ID записи (в таблице wp_posts), о которой эта мета-информация. meta_key – это краткое описание мета-информации, которую Вы хотите добавить к записи (например 'mood' или 'song'). meta_value – это непосредственно значение мета-информации (например «хуевастенько» для 'mood').
WordPress использует эту таблицу для хранения дополнительной информации об аттачментах, которая не может быть сохранена в таблице wp_posts (локальные пути к файлу, информация о превьюшках и т.д.). Также в этой таблице содержатся специфические поля или значения – те, которые вы видите в редакторе. И, конечно, существует огромное количество плагинов, которые используют эту таблицу для своих нужд. Итак, если Вы решили использовать эту таблицу, Вам нужно придумать уникальные имена для Ваших «мета-ключей», в противном случае Ваш плагин может конфликтовать с другими.
wp_users
WordPress использует эту таблицу для хранения информации о зарегистрированных пользователях. В ней содержатся ID пользователей, их логин, зашифрованный пароль, полное имя, дата регистрации, и многое другое.
wp_usermeta
Для пользователей таблица wp_usermeta является тем же самым, чем является wp_postmeta для записей (контента). В ней содержится вся дополнительная информация о пользователях – персональные настройки (вкл./выкл. визуальный редактор, день рождения, контактная информация и т.п.).
wp_comments
В таблице wp_comments хранятся все комментарии к записям на вашем сайте, включая подтвержденные, ожидающие модерации, спам, трэкбэки, пингбэки, посланные Вам с других сайтов. О предназначении полей этой таблицы Вы можете догадаться и сами, но в любом случае, вот их краткое описание:
* comment_ID – уникальный ID для каждого комментария, создаётся автоматически MySQL* comment_post_ID – уникальный ID записи, к которой комментарий был добавлен* comment_author – имя автора комментария* comment_author_email – email автора комментария* comment_author_url – URL автора комментария* comment_author_IP – IP-адрес автора комментария* comment_date – дата и время добавления комментария* comment_content – текст комментария* comment_approved – прошёл ли комментарий модерацию и если да, то как* comment_agent – браузер автора комментария (MSIE, Firefox, Safari и т.д.)* comment_type – обычный комментария, трэкбэк, пингбэк* user_id – ID автора, если он зарегистрированный пользователь
Есть еще несколько полей, но они нам вряд ли понадобятся, поэтому мы оставим их описание за кадром.
wp_options
Таблица wp_options содержит все глобальные настройки WordPress. Она довольно похожа на таблицы wp_postmeta и wp_usermeta по структуре, но есть и различия.
В этой таблице есть поле blog_id, но используется оно только в WordPress MU (большая часть кода однопользовательской и многопользовательской инсталляций WordPress совпадают). WordPress MU использует это поле для того, чтобы отличить настройки одного блога от настроек другого.
Поле autoload определяет – загружаются/записываются ли настройки из базы данных/кэша или они доступны только для чтения. Большинство настроек загружаются автоматически.
wp_categories
Таблица wp_categories содержит информацию обо всех категориях, которые Вы создали, это: название и описание категории, ID родительской категории и т.д.
Для ускорения работы WordPress сохраняет некоторую статистику. Например, количество записей и ссылок в категории пересчитывается каждый раз при их добавлении или удалении (поля category_counter и link_count).
wp_post2cat
Связывание записи с категорией осуществляется через таблицу wp_post2cat. Это стандартный подход для связи «многих-со-многими» в реляционных базах данных. wp_post2cat имеет только три поля: уникальный ID (для строки в таблице, создаётся автоматически), уникальный ID записи и ID категории, в которую добавлена запись.
wp_links
Обычно таблица wp_links используется для хранения блогролла, списка ссылок на другие сайты или блоги. Настроек для блогролла огромное количество, поэтому подробно рассматривать эту таблицу мы не будем. Скажу только одно: если Вам вдруг вздумается создать на основе WordPress каталог ссылок, например новый Yahoo!, Вам не придётся много программировать. По сути нужно только будет создать «кустомную» тему.
wp_link2cat
Таблица wp_link2cat практически идентична wp_post2cat, за исключением того, что в ней содержатся ID ссылок вместо ID записей.
P.S. статья старенькая и подходит для базы WordPress до версии 2.3, но я решил ее все таки опубликовать, т.к. общее все рано есть. Может кому пригодиться 😉
Источник, перевод.
www.wp-info.ru
Как изменить адрес авторизации (wp-login) в WordPress (+видео) « Все о WEB программировании
12.12.2016 Ромчик0
Доброго времени суток. В прошлой статье «Как изменить URL административной панели WordPress» мы изменили адрес для админ панели WordPress. Но это нас не защитит от брутфорс атаки (атаки подбора логина и пароля), т.к. страница авторизации у нас осталась стандартной. Давайте изменим адрес для авторизации (wp-login) без использования сторонних плагинов.
За страницу авторизации в WordPress отвечает файл wp-login.php, который находится в корне нашего сайта. Для того что бы изменить URL для авторизации в WordPress необходимо сделать три шага:
- Шаг. Переименовать файл wp-login.php. Например, мы хотим, чтобы URL авторизации был asdfg. Тогда файл wp-login.php переименовываем в asdfg.php
- Шаг. Открываем только, что переименованный файл и заменяем везде wp-login.php на <новое имя файла>. В нашем случаем заменяем wp-login.php на php
- Шаг. В файле general-template.php, который находится в папке wp-includes, заменить wp-login.php на <новое имя файла>. В нашем случаем заменяем wp-login.php на php
Вот и все, проверяем.
Давайте зайдем на страницу авторизации WordPress. В моем случае http://wp.loc/asdfg.php
Отлично. Давайте еще проверим редирект, когда мы пытаемся зайти в админ панель не авторизованным пользователем, нас перекидывает на страницу авторизации. В моем случае http://wp.loc/wp-admin
Отлично, и редирект работает.
Мы с вами изменили URL страницы авторизации в WordPress.
Плюсы данного метода: мы не загружаем наш WordPress дополнительным плагином.
Минусы данного метода: при обновлении WordPress страница авторизации станет стандартной.
В следующей статье мы рассмотрим один плагин, который делает все то же самое, что мы сделали в этой статье и что мы сделали в «Как изменить URL административной панели WordPress». Так, что не пропускайте выхода новых статей, подписавшись VK , Facebook, Twitter
И в дополнении видео к данной статье:
Понравилась статья? Поделись с друзьями.
web-programming.com.ua
Страницы « WordPress Codex
Languages: English • Español • Français • Italiano • 日本語 한국어 • ລາວ • myanmar • Nederlands • Português do Brasil • Русский • Slovenčina • ไทย • 中文(简体) • 中文(繁體) • (Add your language)
В WordPress можно создавать страницы (pages) или записи (posts). Когда вы пишете обычную запись в блог - вы создаёте запись. Записи автоматически появляются на главной странице в обратном хронологическом порядке.
Страницы же предназначены для такого содержимого как "Обо мне", "Контактная информация" и тому подобное. Страницы находятся вне нормальной хронологической последовательности записей и часто используются для нечувствительной к хронологии информации - той, которая всегда востребована. С помощью страниц можно организовать и управлять любым количеством содержимого.
Также можно привести такие примеры как страницы об авторском праве, лицензионные соглашения, правила использования, информации о сайте. Кстати, хорошим правилом является наличие страницы с информацией о сайте или компании и/или страницы с контактными данными. Вот один из советов от Lorelle (на английском языке).
В целом, страницы очень похожи на записи - и те и другие имеют название и содержимое и могут использовать шаблоны представлений (Presentation Templates) для сохранения целостного вида сайта. Однако страницы имеют несколько ключевых отличий от записей.
О страницах коротко
Чем страницы являются и что могут:
- Страницы являются контейнером для содержимого, которое не зависит от времени.
- Страницы могут быть организованы в другие страницы, а также Подстраницы.
- Страницы могут использовать различные шаблоны, которые могут включать в себя файлы шаблонов, метки шаблона (Template Tags) и код PHP.
Чем страницы НЕ являются и что НЕ могут:
- Страницы - не записи. Они не проходят циклически через главную страницу. Примечание: Включать записи в страницы можно с помощью модуля Inline Posts Plugin.
- Страницы - не пункты меню, даже если список страниц выводится на месте навигации. Для создания полноценного навигационного меню существует отдельный механизм.
- Страницы не могут быть связаны с рубриками и метками. Организационная структура опирается только на иерархию.
- Страницы - это не файлы. Они сохраняются в базе данных точно так же, как записи.
- Хотя в шаблон страницы можно добавить код PHP, в саму страницу нельзя добавить код так, чтобы при этом он ещё и работал. Примечание: Этого можно достичь, используя модуль, работающий с PHP, такой как Exec-PHP или RunPHP
Создание страниц
Для того чтобы создать страницу войдите в Wordpress с достаточными привилегиями для создания статей. Выберите Administration > Pages > Add New для того чтобы начать работу с новой страницей.
codex.wordpress.org
ITZone » Настройка backend WordPress под клиента
Category: Web / Tags: wordpressWordPress не только мощная CMS, но и доступная в использовании. Очень жаль, что многими она воспринимается как средство для создания блога, но для создания бизнес-проектов эта платформа подходит не хуже.
Удаление лишних пунктов меню
Чтобы пользователь ненароком не удалил какой-нибудь важный файл нужно запретить ему доступ к определенным функциям.Для чего, прописываем код в файл темы functions.php:
function remove_menus(){ global $menu; $restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins')); 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_menu', 'remove_menus'); |
Этот код лишь убирает визуально пункты меню, но не запрещает прямой доступ к ним по ссылке. Теперь разъясню, какие пункты мы закрыли этим кодом:
__('Dashboard') — главная страница админки; __('Posts') — "Записи"; __('Media') — "Медиафайлы" (картинки, видео и т.п.); __('Links') — "Ссылки"; __('Pages') — "Страницы"; __('Appearance') — "Внешний вид"; __('Tools') — "инструменты" ("импорт", "экспорт"); __('Users') — "пользователи"; __('Settings') — пункт меню "Настройки"! __('Comments') — комментарии; __('Plugins') — "Плагины". |
Удаляем рубрику «+Добавить» из админ-панели
Теперь хочется отметить некоторые нюансы Консоли управления. Заходим в админку и видим в панели администратора под кнопкой “+Добавить” выплывает подменю “запись”, дабы не смутить заказчика, который на самом деле не пишет посты, удалим этот пункт из Панели администратора. Вместе с этим нужно удалить ссылки и комментарии, которые привязаны к этому пункту. Для этого нам понадобится следующий код:
function remove_admin_bar_links() { global $wp_admin_bar; $wp_admin_bar->remove_menu('new-content'); $wp_admin_bar->remove_menu('new-link'); $wp_admin_bar->remove_menu('comments'); } add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );<script type="text/javascript" src="//shareup.ru/social.js"></script> |
Добавление своих пунктов админ-панель
Наша панель стала выглядеть пусто и неинтересно, чтобы как-то ее оживить добавим новые пункты и ссылки. Сделать это в WordPress очень легко. Рассмотрим пример, в котором будем добавлять новые продукты на сайт и раздел секций. Здесь заказчик будет добавлять новый контент. Вот как выглядит код:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
function add_mycms_admin_bar_link() { global $wp_admin_bar; if ( !is_super_admin() || !is_admin_bar_showing() ) return; $wp_admin_bar->add_menu( array( 'id' => 'add_product_menu', // Может быть любое значение и должно быть уникальным 'title' => __( 'Добавить Продукт'), //Отображение названия в Меню 'href' => __('http://studio-gost.ru/wp-admin/post-new.php?post_type=products'), )); // Добавить в подменю ссылку "Все продукты" $wp_admin_bar->add_menu( array( 'parent' => 'add_product_menu', // Уникальный идентификатор родительского меню 'id' => 'view_all_products', 'title' => __( ''), 'href' => __('http://studio-gost.ru/wp-admin/edit.php?post_type=products'), )); //Добавить в подменю ссылку "Специфика" $wp_admin_bar->add_menu( array( 'parent' => 'add_product_menu', 'id' => 'my_sections', 'title' => __( 'Специфика'), 'href' => __('http://studio-gost.ru/wp-admin/edit-tags.php?taxonomy=Section&post_type=products'), )); } add_action('admin_bar_menu', 'add_mycms_admin_bar_link',25); |
Заменяем логотип WordPress на странице входа на сайт
Все кто знаком с WP не по наслышке наверняка лицезрел и официальный логотип wordpress на странице входа. Естественно он никак не мешает нормальному функционированию сайта, но заказчики – народ требовательный, видеть свой собственный бренд им нравится больше. Поэтому не забудьте в процессе работы заменить официальное лого на логотип компании-заказчика. Как это сделать уже описывалось в блоге Замена логотипа wordpress.
Удаляем логотип WordPress из Панели администратора
Важно! Логотип WordPress находится еще и в административной зоне сайта и в выпадающем меню со ссылками на документацию и форумы поддержки WP. Они также легко удаляются, путем добавления строки к функции, которая описана выше Удаляем рубрику «+Добавить» данной строчки:
$wp_admin_bar->remove_menu('wp-logo'); |
Или же вставить код целиком:
function remove_admin_bar_links() { global $wp_admin_bar; $wp_admin_bar->remove_menu('wp-logo'); } add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' ); |
Упрощаем ссылку входа
Теперь делаем проще ссылку для входа в WP. Изначальна ссылка выглядит так: http://site.ru/wp-login.php, изменим ее на эту: http://site.ru/login. При этом изменении пользователь будет перенаправляться на http://site.ru/wp-login.phpДля этого вставляем код в functions.php:
/* редирект с login на /wp-login.php и с admin на /wp-admin */ add_action('template_redirect', 'kama_login_redirect'); function kama_login_redirect(){ if( strpos($_SERVER['REQUEST_URI'], 'login')!==false ) $loc = '/wp-login.php'; elseif( strpos($_SERVER['REQUEST_URI'], 'admin')!==false ) $loc = '/wp-admin/'; if( $loc ){ header( 'Location: '.get_option('site_url').$loc, true, 303 ); exit; } } |
Этот способ более удобен, потому что вся редакция идет “внутри” темы.
Отключение обновится
Следующим пунктом идет отключение проверки обновления. Не чего клиентом там лазить, тем более без спецподготовки. Потому что новые обновления могут некорректно работать с старыми плагинами, а иногда это может привести к потери работоспособности сайта.Опять работать будем с файлом functions.php вставляем в него этот код:
add_filter('pre_site_transient_update_core',create_function('$a', "return null;")); wp_clear_scheduled_hook('wp_version_check');
remove_action( 'load-update-core.php', 'wp_update_plugins' ); add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) ); |
Удаление админ-бара
Так же как писалось в самом начале этой статьи на сайте можно Отключить админ-панель в WordPress для всех кроме администраторов. Это отгородит ваших клиентов от ненужного посещения админ панели.
(с) http://studio-gost.ru
blog.ttgame.ru