Рекламное объявление
Плагины меня беспокоят - я вижу длинный список из них, каждый из которых регистрирует свои собственные хуки и фильтры и… эй. Иногда простое решение может быть найдено с помощью нескольких строк в вашем functions.php файл. Вот 10 наших фаворитов.
Обратите внимание, что functions.php является частью вашей темы, и любые взломы, которые вы размещаете там, будут потеряны при смене темы. Вам нужно будет скопировать тех, кого вы хотите сохранить, в новую тему - это совсем не сложно, но что-то нужно иметь в виду, если ваш сайт вдруг сломается и не может понять, почему. Если вы допустите ошибку при их кодировании, вы столкнетесь с пустой страницей (окончательное руководство по работе с 500 ошибок сервера и пустых страниц в WordPress Полное руководство по решению 500 внутренних ошибок сервера и пустых белых страниц в WordPressВозникли проблемы с 500 внутренних ошибок сервера и пустых страниц в WordPress? Вот как их исправить сразу. Подробнее расскажет вам о некоторых других способах, которыми это может произойти)
- так что будь осторожен. Знание PHP также полезно (вот наш руководство для начинающих по PHP Научитесь строить с помощью PHP: ускоренный курсPHP - это язык, который Facebook и Wikipedia используют для ежедневного обслуживания миллиардов запросов; де-факто язык, используемый для обучения людей веб-программированию. Это красиво просто, но невероятно мощно. Подробнее ).Добавить миниатюры в админку
Если вы просто находите время для добавления опубликовать миниатюры Полное руководство по избранным миниатюрам и размерам изображений в WordPressЗдесь есть все, что вам нужно знать о размерах изображений в WordPress и управлении избранными изображениями. Подробнее , может быть очень полезно сразу увидеть, какие сообщения еще не содержат миниатюру - этот фрагмент добавит новый столбец на экран администратора при просмотре Все сообщения. Вы можете изменить размер, настроив переменные в массиве (100,200), который определяет максимальную ширину и высоту.
add_filter ('manage_posts_columns', 'posts_columns', 5); add_action ('manage_posts_custom_column', 'posts_custom_columns', 5, 2); function posts_columns ($ defaults) {$ defaults ['post_thumbs'] = __ ('Thumbs'); вернуть $ по умолчанию; } function posts_custom_columns ($ column_name, $ id) {if ($ column_name 'post_thumbs') {echo the_post_thumbnail (array (100,200)); } }
Вы должны получить что-то вроде этого:
Сделайте свой собственный шорткод для JS Snippets
Встраивание JavaScript непосредственно в контент публикации может быть проблематичным (но возможно, см. Взлом TinyMCE позже в статьи), особенно когда эти фрагменты часто меняются, что делает все текущие записи сломана. Если встраиваемый вами JavaScript-код включает в себя атрибут size, у вас также могут возникнуть проблемы, когда тема меняется, и вдруг больше ничего не подходит. Или, может быть, вам просто надоело вставлять одно и то же снова и снова. В любом случае шорткод может очень помочь.
Вот фрагмент, который я сделал, чтобы встроить еженедельный чат, который основан на бесплатном tlk.io оказание услуг. Использование шорткода чати с учетом одного атрибута номерон вставляет соответствующий код, указывающий на правильный адрес чата, или в этом случае по умолчанию используется общая комната «технофилии».
function chatroom ($ atts) {extract (shortcode_atts (array ('room' => 'technophilia'), $ atts)); возвращение ''; } add_shortcode ( 'чат', 'комната');
Убить шорткод
Если вы больше не хотите использовать короткий код, вы можете найти его в выходных данных. Этот простой код удалит их, если хотите, короткий код «очистит» - хотя он не влияет на базу данных, а только на вывод содержимого публикации.
function shortcode_cleaner () {remove_shortcode ('chat'); add_shortcode ('chat', 'my_remove_shortcode'); } add_action ('init', 'shortcode_cleaner'); function my_remove_shortcode () {return ''; }
Извлечь видео YouTube из поста
Избранные изображения были представлены в версии 2.9, чтобы дать каждому посту одно центральное репрезентативное изображение, но что, если ваш пост больше посвящен видео? Вы можете сделать снимок экрана и использовать его в качестве показанного изображения, или же вы можете извлечь видео и вставить его вместо показанного изображения. Вызовите эту функцию из цикла, чтобы получить URL-адрес YouTube, который вы хотите вернуть.
function video_from_post () {global $ post; $ return = array (); preg_match ( '| http://www.youtube.com/watch\?v=([a-zA-Z0-9_\-]+)|', $ post-> post_content, $ match); $ v = $ соответствует [1]; $ return [0] = $ post; $ return [1] = $ v; возврат $ возврат; }
Вы также можете использовать следующий фрагмент кода, который фильтрует записи для удаления URL-адресов YouTube (поскольку вы будете использовать их в других местах).
функция remove_youtube ($ content) {$ search = '/http:\/\/www\.youtube\.com\/watch\?(.*?)v=([a-zA-Z0-9_\-]+ ) (\ S *) / я '; $ content = preg_replace ($ search, "", $ content, 1); вернуть $ content; } add_filter ('the_content', 'remove_youtube');
Остановите Визуальный Редактор, Разделяющий HTML
Визуальный редактор WordPress - TinyMCE - отлично подходит для большинства пользователей, и его можно расширить, чтобы сделать еще больше с TinyMCE Расширенный плагин Возьмите под свой контроль редактор WordPress с TinyMCE Advanced Подробнее . Тем, кто хочет немного меньше присматривать за своим кодом, этот небольшой фрагмент не даст TinyMCE удалить его. выводить теги, расширяя список допустимых элементов, позволяя встраивать такие элементы, как iFrames или указывать классы на элементы.
function fb_change_mce_options ($ initArray) {// Разделенная запятыми строка расширенных тегов $ ext = 'Предварительно [идентификатор | имя | Класс | стиль | языки | сбежавшего], Iframe [выравнивание | longdesc | Наименование | ширина | высота | frameborder | скроллинг | MARGINHEIGHT | MARGINWIDTH | ЦСИ]'; if (isset ($ initArray ['extended_valid_elements'])) {$ initArray ['extended_valid_elements']. = ','. $ Вен; } else {$ initArray ['extended_valid_elements'] = $ ext; } $ initArray ['verify_html'] = false; вернуть $ initArray; } add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
Наконец, это предотвращает удаление JavaScript, но имейте в виду, что это открывает большую дыру в безопасности в средах с несколькими авторами.
function disable_kses_content () {remove_filter ('content_save_pre', 'wp_filter_post_kses'); } add_action ( 'инициализации', 'disable_kses_content', 20);
Бесплатный сайт Thumbnailer
WordPress.com предлагает малоизвестный сервис миниатюр веб-сайтов, то есть вы можете указать ему URL-адрес веб-страницы, и он сгенерирует и отобразит миниатюрное изображение этого веб-сайта. Добавьте следующий фрагмент кода, чтобы создать короткий код «webthumb», и используйте его, заключив в него URL-адрес, например: [WebThumb] // www.makeuseof.com [/ WebThumb]. Используйте атрибуты, чтобы переопределить ширину или высоту, и отрегулируйте вывод HTML, как вам требуется. Миниатюры кэшируются, но для создания может потребоваться некоторое время.
Функция websitethumbnails ($ atts, $ content = null) {extract (shortcode_atts (array ("snap" => ' http://s.wordpress.com/mshots/v1/', "alt" => 'Мое изображение', "w" => '600', // ширина "h" => '350' // высота), $ atts)); $ img = ''; вернуть $ img; } add_shortcode ("webthumb", "websitethumbnails");
Добавить избранные миниатюры в RSS-каналы
Следующий код откорректирует как фрагмент, так и полный канал RSS, чтобы включить выбранный эскиз. Вы также можете увидеть, как мы добавили ссылку по умолчанию в конце каждого элемента, ссылаясь на полный пост. Конечно, вы можете изменить это на что угодно, например, включить некоторые кнопки обмена.
function excerpt_thumbnail_feeds ($ content) {global $ post; if (has_post_thumbnail ($ post-> ID)) {$ content = ''. get_the_post_thumbnail ($ post-> ID, 'признакам'). ''. rss_the_excerpt ($ post-> ID, 100); } $ content. = "Прочитайте полную статью: "($ Post-> ID) .get_the_title."
"; вернуть $ content; } add_filter ("the_excerpt_rss", "excerpt_thumbnail_feeds"); // показать миниатюры сообщений в каналах. function full_thumbnail_feeds ($ content) {global $ post; if (has_post_thumbnail ($ post-> ID)) {$ content = ''. get_the_post_thumbnail ($ post-> ID, 'признакам'). ''. $ Содержание; } $ content. = "Прочитайте полную статью: "($ Post-> ID) .get_the_title."
"; вернуть $ content; } add_filter ("the_content_rss", "full_thumbnail_feeds");
Видите ли, есть очень много, что вы можете сделать без плагинов, и это просто царапина на поверхности. Если вы хотите больше, проверьте мой список Рецепты IFTTT для WordPress 5 удивительных рецептов IFTTT для пользователей WordPressIFTTT - это инструмент автоматизации для опытных пользователей; и WordPress - лучший армейский нож для блоггеров. Представьте себе, какое мировое господство вы могли бы достичь, объединив их! Подробнее или посетите WPSnipp - сайт с более чем 600 классифицированными хакерами.
Джеймс имеет степень бакалавра в области искусственного интеллекта и сертифицирован CompTIA A + и Network +. Он является ведущим разработчиком MakeUseOf и проводит свое свободное время за игрой в VR-пейнтбол и настольные игры. Он строит компьютеры с детства.