Пожалуйста, проголосуйте за вопрос и любые ответы, которые вы найдете полезными, нажав на стрелку ВВЕРХ в левой части вопроса или ответа.
Как и многие другие, которые сейчас просматривают этот пост, я читал различные блоги, форумы и дискуссионные группы, чтобы изучить и улучшить свои навыки работы с WordPress. В течение последних 12 месяцев у меня была миссия заменить использование плагинов, добавив functions.php
вместо этого код в мой файл. Хотя я полностью согласен с тем, что плагины очень полезны во многих ситуациях, мой опыт доказал, что в 90% случаев использования, хотя плагин может существовать, его использование может создать ненужные сложности и проблемы совместимости. Кроме того, во многих случаях такие плагины добавили меню и другие элементы администратора, которые мне не нужны или не нужны.
Чаще всего я обнаруживал, что, анализируя код плагинов, я мог вырезать фрагмент кода, который хотел, и жестко запрограммировать его в свой functions.php
. Это дало мне точную функциональность, в которой я нуждался, без необходимости включать ненужные элементы.
Итак, целью этого поста является моя попытка привлечь вас, читателя / администратора / разработчика, поделиться со мной и другими здесь любыми фрагментами кода, которые вы сочтете полезными и добавили в function.php
файл вашей темы для расширения или улучшения WordPress без использования плагин.
Когда вы отправляете ответ здесь, пожалуйста, дайте каждому коду заголовок, дайте нам знать, если с какой версией WordPress вы знаете, что он совместим, включите любое описание, которое, по вашему мнению, лучше всего описывает его функцию, и (если применимо) укажите ссылку на оригинал Плагин или источник, где вы нашли информацию.
Я с нетерпением жду всех ваших ответов и, конечно, буду постоянно добавлять свои новые находки, когда бы я их ни нашел.
Ответы:
Включить скрытую функцию администратора, отображающую ВСЕ настройки сайта
Проверено на: Wordpress 3.1 RC3
Этот маленький кусочек кода делает что-то очень крутое. Он добавит дополнительную опцию в ваше меню настроек со ссылкой на «все настройки», которая покажет вам полный список всех настроек в вашей базе данных, связанных с вашим сайтом WordPress. Приведенный ниже код сделает эту ссылку видимой только для администратора и скрыт для всех остальных пользователей.
источник
Изменить логин и ссылку на URL изображения
Проверено на: WordPress 3.0.1
Этот код позволит вам легко изменить логотип страницы входа в WordPress, а также ссылку href и текст заголовка этого логотипа.
РЕДАКТИРОВАТЬ: Если вы хотите использовать логотип сайта для замены логотипа входа, вы можете использовать следующее для динамического извлечения этой информации (протестировано на WP3.5 ):
источник
Включить пользовательские типы сообщений в результаты поиска.
По умолчанию добавляйте свои собственные типы сообщений в основной канал RSS своих сайтов.
Включить пользовательские типы сообщений в виджет панели администратора «Прямо сейчас»
Это будет включать ваши пользовательские типы сообщений и количество сообщений для каждого типа в виджете панели «Прямо сейчас».
источник
exclude_from_search
параметромregister_post_type
...Удалить уведомление об обновлении для всех пользователей, кроме пользователя ADMIN
Проверено на: Wordpress 3.0.1
Этот код гарантирует, что ни один пользователь, кроме «admin», не будет уведомлен WordPress о появлении обновлений.
Изменена версия, чтобы показывать уведомление об обновлении только для пользователей с правами администратора (в отличие от только пользователя 'admin'):
источник
Загрузка jQuery из Google CDN
Проверено на: Wordpress 3.0.1
Удалите информацию о версии WordPress для безопасности
Проверено на: Wordpress 3.0.1
Добавить спам и удалить ссылки на комментарии на сайте
Проверено на: Wordpress 3.0.1
Это облегчает управление комментариями из внешнего интерфейса, добавляя спам и удаляя ссылки. **
Задержка публичной публикации в RSS-канал
Проверено на: Wordpress 3.0.1
Наконец, мне нравится откладывать публикацию в своих RSS-каналах на 10-15 минут, потому что я всегда нахожу в своем тексте хотя бы пару ошибок. Другое использование - в случае, если вы хотите, чтобы контент был эксклюзивным для вашего сайта в течение дня или недели, прежде чем распространять его среди читателей RSS.
источник
remove_action('wp_head', 'wp_generator');
Установите максимальное количество ревизий постов, чтобы избежать раздувания БД.
Проверено на: Wordpress 3.0.1
Значение по умолчанию бесконечно, это установит только запоминание последних 5 правок:
FWIW Существует множество отличных идей для CONSTANTS, которые можно установить на странице Кодекса Редактирование wp-config.php .
источник
Инструменты профилирования Wordpress
Мне нравится добавлять инструменты профилирования в отдельный файл, который я при необходимости добавляю из functions.php:
источник
Резкость изображения с измененным размером (только JPG)
Эта функция повышает резкость изображений jpg. Пример различия:
источник
Удалить стандартные WordPress мета-боксы
Проверено на: Wordpress 3.0.1
Этот код позволит вам удалить определенные мета-боксы, которые WordPress по умолчанию добавляет на экраны Add / Edit Post и Add / Edit Page по умолчанию.
источник
Удалить фильтр «WordPress» в «WordPress»
Проверено на: Wordpress 3.0.1
В WordPress версии 3.0 был добавлен фильтр, который автоматически преобразует все экземпляры «Wordpress» (без заглавной буквы P) в «WordPress» (с заглавной буквой P) в содержимом сообщений, заголовках сообщений и тексте комментариев. Некоторые люди считают это навязчивым, мне просто нужно время от времени неправильно вводить WordPress, и этот фильтр показался мне несколько раздражающим.
источник
11
для его удаления необходимо добавить третий параметр.Настройте приборную панель
Удалить эти виджеты панели инструментов ...
Добавьте пользовательский виджет под названием «Помощь и поддержка»
Это контент для вашего пользовательского виджета
источник
Добавить пользовательские поля профиля пользователя
Поместите приведенный ниже код в свой файл functions.php, чтобы добавить настраиваемые поля профиля пользователя. Редактируйте или добавляйте строки по своему усмотрению.
Не забудьте удалить строку: return $ contactmethods; иначе это не сработает.
Для отображения пользовательских полей вы можете использовать один из двух методов, перечисленных ниже.
Опция 1:
Вариант 2:
источник
Настройте порядок меню администратора
проверено на: Wordpress 3.0.1
Этот код позволит вам реорганизовать порядок элементов в меню администратора. Все, что вам нужно сделать, это нажать на существующую ссылку в меню администратора и скопировать все до / wp-admin / URL. Порядок ниже представляет порядок, который будет иметь новое меню администратора.
источник
custom_menu_order
? Я не мог найти один ...Функция для изменения длины Exerpt
Проверено на: Wordpress 3.0.1
По умолчанию все выдержки ограничены 55 словами. Используя приведенный ниже код, вы можете переопределить эти настройки по умолчанию:
В этом примере длина фрагмента изменяется на 100 слов, но вы можете использовать тот же метод, чтобы изменить его на любое значение.
источник
excerpt_length
крючок) ограничены словами .Добавить миниатюры в список сообщений / страниц управления
Вы можете добавить это к своим функциям, чтобы отобразить в столбце «Управление / редактирование» и «Список страниц» новый столбец с предварительным просмотром миниатюр.
источник
Удалить пинг в свой блог
Проверено на: Wordpress 3.0.1
источник
Включить сжатие вывода GZIP
Обычно сервер должен быть настроен на автоматическое выполнение этого, но многие общие хосты этого не делают (возможно, для увеличения пропускной способности клиента)
источник
Отображение запросов к БД, затраченного времени и потребления памяти
Проверено на: Wordpress 3.0.1
Затем этот код под кодом выше, который автоматически вставит код выше в нижний колонтитул вашего общедоступного веб-сайта (убедитесь, что ваша тема вызывает wp_footer):
Можно вызывать несколько раз.
источник
memory_get_usage()
Отменить регистрацию виджетов WP по умолчанию
Проверено на: WordPress 3.0.1
источник
Автоматическое извлечение первого изображения из содержимого публикации
Проверено на: Wordpress 3.0.1
Этот код автоматически извлечет первое изображение, связанное с публикацией, и позволит вам отобразить / использовать его, вызвав функцию getImage.
источник
Выведите, какой файл шаблона темы использует пост / страница в заголовке
Сократите вывод DIV по умолчанию, если ваша тема использует post_class.
если ваша тема использует что-то вроде
Вы можете иметь сумасшедшие длинные div в вашем источнике, которые могут выглядеть так или даже дольше:
Это действительно может начать загромождать ваш источник и в большинстве случаев может показаться излишним, достаточно углубиться в 3-4.
Для верхнего примера мы можем нарезать вывод так:
это срезает выходные данные, чтобы включить только первые 5 значений, поэтому приведенный выше пример становится:
Сделайте так, чтобы архивы категорий отображали все сообщения независимо от их типа: хорошо для пользовательских типов сообщений
Удалить ненужные элементы панели инструментов
Это было уже размещено, но не было полного списка пунктов. Особенно те раздражающие "входящие ссылки!"
Удалить переходы «Подробнее» на странице **
вместо этого вернитесь в начало страницы. Вы знаете, как, когда вы нажимаете «читать дальше», он переходит на место на странице, что может раздражать, это заставляет его просто загружать страницу нормально, без прыжков!
Ограничьте элементы меню ADMIN на основе имени пользователя , замените имя пользователя фактическим именем пользователя.
// в качестве альтернативы вы можете использовать if ($ current_user-> user_login! = 'admin') вместо этого, возможно, более полезно
Стиль облака тегов
Полный список опций здесь (их много!) Http://codex.wordpress.org/Function_Reference/wp_tag_cloud
Изменить таймер обновления виджета RSS по умолчанию
(по умолчанию я забываю 6 или 12 часов (1800 = 30 минут).
источник
Удалить уведомление об обновлении плагинов ТОЛЬКО для НЕАКТИВНЫХ плагинов
источник
Удалите лишнюю информацию и HTML внутри
<head>
тегаисточник
Включить отладку и ведение журнала ошибок для использования на живых сайтах
Это фрагмент кода, который я написал для использования констант WP_DEBUG, которые по умолчанию обычно отключены. Ну, я создал способ не только включить WP_DEBUG, чтобы вы могли использовать его на действующем сайте без отрицательных побочных эффектов, но я также использовал другие константы отладки для принудительного отображения ошибок и для создания файла журнала ошибки и уведомления в каталоге / wp-content.
Удалите этот код в файл wp-config.php (ПОСЛЕ ТОГО, КАК ВЫ СОХРАНИТЕ РЕЗЕРВНОЕ КОПИРОВАНИЕ ПРОСТО В СЛУЧАЕ), и затем вы можете передать параметры? Debug = 1, 2 или 3 в конце любого URL на вашем сайте.
? debug = 1 = показывает все ошибки / уведомления? debug = 2 = заставляет их отображаться? debug = 3 = создает файл debug.log обо всех ошибках в / wp-content dir.
Я более подробно расскажу о гостевом посте, который я написал для Comluv, если вам интересно, здесь: http://comluv.com/dev/enable-debugging-and-logging-for-live-site-usage/
Я все еще работаю над тем, чтобы сделать это либо паролем, либо, желательно, каким-то образом заставить его работать с if (current_user_can ('manage_themes') и is_logged_in ().
Но здесь все становится сложнее.
источник
Автоматически добавлять динамические заголовки на общедоступные страницы
Проверено на: Wordpress 3.0.1
Используя приведенный ниже код, вы автоматически создадите динамические заголовки страниц на основе публично просматриваемых страниц / сообщений.
источник
Новые роли и возможности - запускай только один раз!
Я держу это под рукой, это правильный способ сделать их без плагина. Они устанавливают одно поле (prefix_user_roles) в базе данных опций, и вам не нужен плагин для их установки. Обратитесь к странице Кодекса за списком доступных возможностей и описаниями того, что они делают. Вам нужно только раскомментировать один из этих блоков, загрузить любую страницу и затем прокомментировать их снова! Здесь я создаю роль, которая обладает необходимыми мне возможностями:
Иногда удобно добавлять / удалять из существующей роли, а не удалять и повторно добавлять ее. Опять же, вам нужно только раскомментировать, перезагрузить страницу и затем прокомментировать ее. Это правильно сохранит роль / возможность в таблице параметров. (Это позволяет вам, разработчику, контролировать их и устраняет накладные расходы на громоздкие плагины, которые делают то же самое.) Здесь я изменяю роль автора, чтобы удалить их опубликованные посты (по умолчанию), но предоставил им возможность редактировать их опубликованные посты (что по умолчанию невозможно для этой роли) - используя * add_cap * или * remove_cap *.
Я храню электронную таблицу с сеткой со страницы Кодекса для сайтов, которые изменяют этот способ, поэтому я могу помнить, как все устроено, хотя оставленный закомментированный код в вашем файле functions.php будет работать. Не оставляйте эти примеры без комментариев, иначе они будут записываться в базу данных при каждой загрузке страницы!
источник
Wordpress Custom Admin Нижний колонтитул
Я использую это для клиентских сайтов в качестве простой ссылки, чтобы связаться со мной как с разработчиком.
источник
Включить шорткоды в виджетах
источник
Функция для отключения RSS-каналов
Проверено на: Wordpress 3.0.1
Вы можете отключить RSS-каналы, если вы хотите поддерживать свой веб-сайт на Wordpress как статический.
Вы можете использовать эту функцию:
источник
Измените сообщение «Привет» на «Добро пожаловать»
С помощью этой функции вы можете настроить сообщение «Привет» в правом верхнем углу вашей области администратора.
Эта функция использует JQuery для изменения сообщения «Привет» на «Добро пожаловать».
Версия PHP с использованием
gettext
фильтра:источник