
Harry James
0
3007
777
Плагины меня беспокоят - я вижу длинный список из них, каждый из которых регистрирует свои собственные хуки и фильтры и… блин. Иногда можно найти простое решение с помощью нескольких строк в вашем functions.php файл. Вот 10 наших фаворитов.
Обратите внимание, что functions.php является частью вашей темы, и любые взломы, которые вы размещаете там, будут потеряны при смене темы. Вам нужно будет скопировать тех, кого вы хотите сохранить, в новую тему - это не сложно, но нужно помнить, что ваш сайт вдруг сломается и не может понять, почему. Если вы допустите ошибку при их кодировании, вы столкнетесь с пустой страницей (окончательное руководство по работе с 500 ошибок сервера и пустых страниц в WordPress Ultimate Руководство по устранению 500 внутренних ошибок сервера и пустых белых страниц в WordPress Ultimate Руководство по устранению 500 внутренних ошибок сервера и пустых белых страниц в WordPress Возникли проблемы с 500 внутренними ошибками сервера и пустыми страницами в WordPress ? Вот как их исправить сразу. расскажет вам о некоторых других способах, которыми это может произойти) - так что будь осторожен. Знание PHP также полезно (вот наше руководство для начинающих по PHP).
Добавить миниатюры в админку
Если вы только начинаете добавлять миниатюры записей Полное руководство по избранным миниатюрам и размерам изображений в WordPress Полное руководство по рекомендуемым миниатюрам и размерам изображений в 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. Использование шорткода чат, и учитывая один атрибут номер, он вставляет соответствующий код, указывающий на правильный адрес чата, или в этом случае по умолчанию используется общий “technophilia” номер.
function chatroom ($ atts) extract (shortcode_atts (array ('room' => 'technophilia'), $ atts)); вернуть ''; add_shortcode ('chat', 'chatroom');
Убить шорткод
Если вы больше не хотите использовать короткий код, вы можете найти его в выходных данных. Этот простой код удалит их, короткий код “очиститель” если хотите - хотя это не влияет на базу данных, только на вывод содержимого публикации.
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, $ соответствий); $ 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 Advanced. Возьмите под контроль редактор WordPress с помощью TinyMCE Advanced. Возьмите под контроль редактор WordPress с помощью TinyMCE Advanced. Для тех, кто хочет немного меньше присматривать за своим кодом, этот небольшой фрагмент не позволит TinyMCE убирать теги, расширяя список допустимых элементов, позволяя встраивать такие элементы, как iFrames или указывать классы для элементов..
function fb_change_mce_options ($ initArray) // Разделенная запятыми строка расширенных тегов $ ext = 'pre [id | name | class | style | lang | escaped], iframe [align | longdesc | name | width | height | frameborder | scrolling | 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 ('init', '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" => 'My image', "w" => '600', // width "h" => '350' // height), $ 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, 'Featured'). ''. rss_the_excerpt ($ post-> ID, 100); $ content. = "Прочитайте статью полностью: ID). ""> ". Get_the_title ($ post-> ID)."
"; return $ content; add_filter (" the_excerpt_rss "," excerpt_thumbnail_feeds "); // показать миниатюры записей в функции каналов full_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID, 'featured'). ''. $ content; $ content. = "Прочитайте статью полностью: ID). ""> ". Get_the_title ($ post-> ID)."
"; вернуть $ content; add_filter (" the_content_rss "," full_thumbnail_feeds”);
Видите ли, есть очень много, что вы можете сделать без плагинов, и это просто царапина на поверхности. Если вы хотите больше, посмотрите мой список рецептов IFTTT для WordPress. 5 Удивительных рецептов IFTTT для пользователей WordPress. 5 Удивительных рецептов IFTTT для пользователей WordPress. IFTTT - лучший инструмент автоматизации для опытных пользователей; и WordPress - лучший армейский нож для блоггеров. Представьте себе, какое мировое господство вы могли бы достичь, объединив их! или посетите WPSnipp - сайт с более чем 600 классифицированными хакерами.