Хаки вордпресс: Хаки WordPress — Hostenko

хаки, плагины, темы и шаблоны, статьи, настройка

При работе с WordPress нам часто приходится расширять данные пользователей. Например, нужно добавить поле в котором будет записан банковский счет пользователя. В этой заметке я покажу, можно быстро добавить свои поля на страницу профиля пользователя и сохранить данные в метаполя.

Для этого давайте создадим плагин (или можно добавить этот код в файл темы functions.php, но это не профессионально, потому что при смене темы поля пропадут) и назовем его «Дополнительные поля для профиля». Для этого создайте php файл и добавьте туда такой код:

<?php
/*
Plugin Name: Дополнительные поля для профиля
Description: Добавляет новые поля в профиль пользователя.
Version: 1.0
*/

(далее…)

Вы наверняка подбираете интересные заголовки для статей, чтобы заинтересовать пользователя посмотреть статью. В этой статье поговорим о том, как можно тестировать разные заголовки и выяснять по какому заголовку пользователи чаще кликают.

Такое тестирование называется А/Б тестирование.

Для такого тестирования будем использовать плагин » Title Experiments Free». Установите его себе на сайт. Затем зайдите в настройки: Настройки → Title Exp Settings.

(далее…)

В этом мануале я покажу вам правильный способ удаления метатега generator, который WordPress вставляет в head часть HTML документа и в код фидов. Также тут я упомяну о других о других метатегах, которые по умолчанию вставляются в документ и которые возможно тоже нужно удалить.

Удаление версии WordPress полезно в целях безопасности, особенно, если вы пользуетесь старыми версиями движка. Потому что, хакеры могут воспользоваться этой информацией. Во многих старых версиях WP есть свои «дыры». Если вы используете последнюю версию WP, то вам пожалуй не нужно использовать этот мануал. Однако, к слову, я всегда удаляю версию WP на своих сайтах, несмотря ни на что.

«Как насчет плагина?» — спросите вы. Да, плагины которые удаляют версию WP существуют, однако это настолько простая задача, что плагин лучше не использовать.

Где отображается версия WordPress?

Откройте исходный код страницы (ctrl+u), нажмите ctrl+f (поиск) и впишите слово для поиска «generator». В <head> части документа вы должны увидеть строку:

<meta name="generator" content="WordPress x.x.x" />

где вместо х.х.х ваша версия WordPress. Например, 3.1.3

Заметка: если такой строки нет в вашем коде, то тема которую вы используете уже удаляет версию.

(далее…)

Если вы ведете блог или сайт на WordPress, на котором, кроме вас, есть еще авторы, то возможно вам будет нужно установить минимальное количество слов в статье. Слишком короткие статьи не всегда приветствуются поисковиками. В этой статье я покажу вам маленький код, который позволит установить минимум слов для нового поста. Если пользователь попытается опубликовать пост с коротким контентом, то он увидит ошибку с надписью, о том слишком мало слов было написано.

Все что вам нужно для этого сделать, добавить такой код в файл темы functions. php: (далее…)

При выводе меню WordPress в шаблоне с помощью функций wp_nav_menu() или wp_list_pages() часто бывает нужно расположить его пункты в нужном порядке. Это касается пунктов которые создаются как «постоянные страницы» (в админ-панели просто «страницы»). В этой статье пойдет речь о плагине, который позволяет простым перетаскиванием сортировать страницы и располагать их в таком порядке в каком нам нужно. Называется плагин Simple Page Ordering.

Первое что нужно сделать — это установить и активировать плагин. Сделать это можно из админ-панели: зайдите на страницу плагинов, нажмите «добавить новый», в поиск впишите Simple Page Ordering. После того, как плагин будет найден, нажмите «установить» а затем активировать.

После активации плагин не нужно настраивать. У него нет никаких настроек, он работает, так сказать из коробки. Просто идите в меню «Страницы» и сортируйте страницы, простым перетаскиванием их в нужное место.

(далее…)

При создании тем WordPress, вам может понадобится определять какие-либо стили css или действия jQuery в зависимости от того, с какого браузера или операционной системы (ОС) зашел пользователь. WordPress может сделать это за вас. В этой статье будет показано, как добавить название браузера и ОС в  WordPress body class.

По умолчанию WP создает разные классы для разных страниц вашего сайта. Также в системе имеется фильтр (хук), позволяющий темам и плагинам добавлять свои собственные классы к тегу boby. Для этого нужно использовать фильтр body_class, через который можно добавить свои классы. (далее…)


Практически каждый блоггер рано или поздно сталкивается с необходимостью провести опрос среди своих читателей. Это может быть оценка дизайна сайта, поиск новых идей или опрос относительно проблемного вопроса или банальное голосование.

Я хочу рассказать о плагине для WordPress wp-polls , который позволяет создавать опросы на сайте. Некоторые настройки и принципы использования этого плагина является неочевидным и могут вызвать осложнения. Вам ведь нужно не только установить приложение, но и научиться создавать самые опросы, управлять ими и главное — вставлять в шаблон вашей темы. (далее…)

Все сегодня просто параноидально настраивают сайты и блоги под поисковые системы и называется все это — SEO — дело надо признаться полезное и продуктивное. Я и сам, чего греха таить, люблю лишний раз взять отвертку и подкрутить очередной сайт, не знаю насколько эффективно у меня это получается, но моральное удовлетворение от этого я получаю точно! 🙂

Итак, о чем это я? Ах да, спросили меня недавно, — «как сделать так чтобы WordPress не вырезал html теги в описании рубрик и меток«. Он их от туда оказывается вырезает, я до этого и не задумывался на этот счет. Впрочем, правильно делает, что вырезает, потому что если там использовать теги и случайно не закрыть какой-нить блочный тег вроде <div>, то потом можно долго недоумевать что за бомба упала на блог и почему его так раскарёжило, ведь никто же не подумает, что всему виной какое-то безобидное описание рубрики, особенно, если это описание добавлялось не тем, кто потом пытается вернуть все на круги своя. (далее…)

Все мы собственники, кто-то больше кто-то меньше, а иногда просто необходимо прикрыть истинные корни и выдать желаемое за действительное. К чему я это? Да к тому, что иногда либо хочется, либо нужно сменить логотипы WordPress на свои в админ-панели и при входе на сайт (страница wp-login.php). Возможно это не очень красиво по отношению к разработчикам, но разработчики WordPress сами предоставляют такую возможность, по средствам фильтров, так упрощающих настройку WordPress, без редактирования исходных файлов. Разработчики WordPress щедрые ребята и работают во имя прогресса, а не за лишнюю копеечку в свой карман, за что стоит отдать им должное. Это пожалуй одна из составляющих популярности WordPress.

Ниже я познакомлю вас с фильтрами с помощью которых, можно сменить логотипы WordPress на свои.
(далее…)

Наткнулся на интересную заметку, повествующую о том, как можно вывести у себя на блоге RSS фид другого сайта. Причем делается это средствами самого WordPress.

В WordPress есть функция fetch_feed($url), которой нужно передать ссылку на фид и она его получит и создаст из полученных данных объект с данными фида — это заголовок, ссылка, текст, автор, категория и т.д. Какие данных будут доступны зависит от того, какие данные имеются в фиде.

Где и когда может пригодится такая функция? Например, если у нас есть блог и мы хотим в нем, в сайдбаре вывести колонку «Последние статьи сайта». Особо активно эту функцию можно использовать, если вы вдруг захотите создать каталог блогов, фиды которых нужно будет выводить. Также можно использовать эту функцию в каких-либо граберских целях, но это уже кто на что горазд 🙂 (далее…)

Хаки и настройки WordPress

Хаки и функции wordpress, которые помогают в оптимизации сайта.

Хаки

Как убрать ошибку в файлах Sitemap в Яндекс Вебмастере?

1526.3к.

Рассказываю о том, как убрать предупреждение «Неизвестный тег image:image» в файлах Sitemap в панели Яндекс Вебмастер. Решение актуально только для движка WordPress.

Хаки

Содержание статьи в WordPress без плагинов

414к.

Содержание статьи очень полезно для информационных сайтов, особенно на статьях большого объема. С помощью кода, взятого на wp-kama.ru я покажу на примере

Монетизация

Как вставить рекламу перед первым h3 на странице

67.7к.

Данный вариант размещения лично на моих сайтах самый лучший в плане дохода и CTR.

Хаки

Всегда актуальный год в заголовке, тексте и мета-тегах

25.8к.

Небольшой хак, как делать материалы всегда актуальными — делаем всегда текущий год в заголовке статьи, тексте и мета-тегах Title и Description.

Хаки

Делаем хлебные крошки без плагина на WordPress

05.1к.

Делаем хлебные крошки без плагина на WordPress. «Хлебные крошки» — вид навигации, показывающий пользователю его текущее местораcположение и иерархию страниц

Хаки

Выводим рекламу между постами в рубрике

04.8к.

Инструкция, как вывести рекламу в WordPress между анонсами статей на главной странице и в категориях.

Хаки

Выводим дату в формате «N-дней назад»

07.2к.

В WordPress уже есть встроенный функционал для вывода даты в формате «этот веб-документ был создан 3 года 2 месяца 5 дней назад». Поэтому, чтобы продемонстировать

Хаки

Сортируем записи в рубриках по количеству просмотров

04.3к.

Если требуется сортировать записи в рубрике по количеству просмотров статей wordpress, то самый простой вариант — использовать плагин WP-PostViews и для

Хаки

Выводим description в любом месте шаблона wordpress

1418.7к.

Чтобы вывести description страниц в шаблоне, нужно, чтобы был установлен один из плагинов: Yoast SEO или All in One SEO Pack. Затем, просто в нужное место вставляем код.

Хаки

Удаляем meta name generator в WordPress

216.1к.

В этой инструкции мы поговорим о том, как удалить meta name=»generator», который автоматически вставляется в тег head HTML документа и в код фидов.

Hacky Problem-Ssolving, Part One — Ничего, если не многословно

Я не из тех людей, которые думают, что СДВГ — это сверхспособность. Это инвалидность с реальными затратами и проблемами на всю жизнь.

Обратной стороной этого является то, что наш мозг умеет адаптироваться к этим проблемам и находить обходные и короткие пути, а это означает, что мы склонны творчески решать проблемы и быть довольно изобретательными, потому что, если все, что мы хотим, это немного хакерское решение, которое сделает работу на данный момент , мы станем настоящими волшебниками инженерного дела.

В первой части я собираюсь предоставить вам несколько примеров моего собственного веселого хакерства, а во второй части я проведу вас по путешествию .

Пример 1: Лекарство для кота

У моего полосатого пушистика, Маструма Ридкулли, ректора Невидимого университета (также известного как «Загадки»), недавно диагностировали левый желудочек, который был примерно в два раза больше, чем должен быть. относительно остальной части его сердца. Сейчас он принимает лекарство для своего тикера, и хотя это лекарство для человека, его нужно вводить в небольших дозах размером с кошку, поэтому мне пришлось приготовить его в виде жидкости в аптеке.

Мне нужно выдавать по 0,95 мл два раза в день.

Проблема

В аптеке нам дали два маленьких шприца по 1 мл – и я довольно быстро обнаружил, что градации и цифры на внешней стороне быстро стерлись, смывшись слабым воздействием лекарства (или любой воды) , стирается механическим воздействием, если я пытаюсь удалить остатки — это все очень неприятно. Я купил еще пару шприцев в местной аптеке, и произошло то же самое.

Я знал, что они якобы «одноразовые», но это было смешно. Дважды в день до конца жизни его маленького кота получается до хрена одноразовых пластиковых шприцев.

Я говорю, с моим хакерским мозгом, решающим проблемы: черт возьми с этим.

Решение

Один из вариантов, предложенных другом, заключался в том, чтобы сделать надрез в шприце, что было хорошей идеей, но в данный момент мы все еще уточняем дозу, поэтому я хочу пока градации. К счастью, у меня есть линейка и несколько липких именных бейджиков, оставшихся после Мельбурнских мероприятий NaNoWriMo.

Маркировка на шприцах Terumo, кажется, держится немного дольше и стоит пятьдесят центов за штуку, так что я купил пригоршню.

И этикетки можно обернуть лентой, чтобы они оставались на месте и защищали их от намокания (в том числе поэтому я использовал карандаш, хотя его немного труднее разглядеть). Я мог бы поместить три комплекта маркировки на один бейджик!

Риддлс не впечатлен своим лекарством.

Это не кот. Это явно книга.

Пример 2: Плохой пошив и решение двух проблем одновременно

Я плохо шью, и у меня нет желания совершенствоваться, потому что за этим стоит желание швейной машинки – а у меня уже есть дорогие увлечения и у меня нет всех книг , так что черт с ним.

Тем не менее, это способ решения проблем.

Проблема

Я не люблю рубашки с высоким вырезом и круглым вырезом; они заставляют меня чувствовать, что я задыхаюсь. Я часто ношу майки и майки, а также много вырезов с круглым вырезом и V-образных вырезов. К сожалению, это означает, что во время вождения ремень безопасности врезается в открытые участки кожи — не только в шею, но и в грудину. Я решил, что мне нужен чехол для ремня безопасности.

Я нашел один в случайном магазине в долине Фернтри за 10 долларов. К сожалению, он был сделан из этого странного пушистого полиэфирного покрытия, которое выглядело красиво, но сильно раздражало мою кожу; он застегивался на липучке и вращался так, что липучка царапала мне кожу; и были чертовски короткими.

Большинству людей, по-видимому, нужен только чехол ремня безопасности для шеи.

Ладно. Это был прямоугольник . Я могу сшить прямоугольник, черт возьми. И я мог бы использовать свою покупку за 10 долларов в качестве руководства по размеру.

Я храню несколько изношенных футболок или футболок, которые мне не нравятся, в сумке со всем другим случайным дерьмом для рукоделия на случай, если мне понадобится случайная ткань, поэтому я выбрал одну из мягких и приятных эластичных тканей.

Решение

Измерил ли я чехол ремня безопасности? Ад нет.

Правил ли я какие-нибудь строки? Тоже ад нет.

Нет, я разложил чехол ремня безопасности на футболке и сложил футболку, пока она не стала примерно нужной ширины, что означало складывание ее втрое. Затем я выбросил чехол и обрезал ткань.

И в течение нескольких ночей, косясь при заправке иглы (с тех пор я открыл для себя иглы с легкой ниткой), я сшила внешнюю сторону прямоугольника так, чтобы все трети рубашки были сложены, и я оставил один конец открытым . Я набила его ватными тампонами, потому что они были у меня под рукой, купила кучу кнопок в Lincraft и пришила их.

Готово.

Похоже, кто-то решил сделать из тонкой кишки плюшевую игрушку, не так ли?

Ни одной прямой линии или угла обзора 90 градусов, и да, сделал немного более сложным сшивание краев. В конце концов, я в основном использовал обметочный стежок, что является странным выбором для недекоративного края, который никто не увидит, но это чертовски быстрее, потому что вам никогда не нужно переворачивать кусок, чтобы дважды проверить, что вы на самом деле прошиваете все края , так как вы не разрезали их по прямой линии, поэтому они не все совпадают .

(я никогда не говорил, что не было недостатки в этом наплевательском подходе.)

Теперь, к сожалению, примерно через месяц все ватные шарики сдвинулись и расплющились, и он перестал так хорошо работать…

Другая проблема

Между тем, я был разочарован потому что я хотел, чтобы подушка подходящего размера клалась между моими коленями, когда я сплю (у меня значительное внутреннее вращение бедра, и мое колено упирается в другое колено прямо под коленную чашечку, достаточно сильно, чтобы оставить синяки и сильно раздражать близлежащее сухожилие. Это только стало проблема после того, как я похудела, потому что жир чертовски полезен, для трех вещей: (1) теплоизоляция, (2) набивка и (3) плавучесть. Я не ожидал, что наткнусь на собственные гребаные кости).

Другой бренд, но я не сфотографировал подушку до того, как начал ее кромсать, так что это приблизительно.

Я купил такую ​​подушку, но другой марки. Я отрезал кисточки. Но чертова подушка была слишком туго набита, и спать на ней было очень неудобно; Кроме того, чехол подушки был очень грубым материалом, и по причинам сенсорной обработки мне нужно что-то более мягкое и гладкое.

Право .

У меня в одной вещи мало начинки, а в другой слишком много?

Эти две задачи имеют объединенных решений.

Другие решения

Я снял чехол с подушки, разрезал подушку и вытащил примерно две трети набивки. Затем я разрезал крышку ремня безопасности и удалил все ватные шарики.

(Затем я спас ватные шарики от Олли, который подумал, что это игрушки для кошек и, возможно, съедобные. )

Я положил немного набивки в чехол ремня безопасности и, чтобы убедиться, что кнопки остаются плоскими, я пришил две маленькие «зоны исключения набивки» по бокам.

Готово.

Та-да! Сначала я его набила, но вынесла в машину и проверила, не сложится ли, прежде чем пришить, а потом просто вытягивала набивку, пока не заработало. Обратите внимание, что он немного меньше похож на кишечник.

Затем я взял другую изношенную футболку, выровнял подушку, удалил набивку и подогнул край, чтобы он был такой же ширины, как и футболка. Я отрезал лишнее, сшил его, а затем разрезал футболку, чтобы сделать хороший мягкий чехол для подушки. Теперь у меня был тюбик с материалом. Я зашила одну сторону, а затем пришила две молнии с другой стороны.

(Молнии были слишком короткими, а молния на оригинальной обложке стала слишком длинной.)

Готово.

  • Я проколола шов, но он не получился ровным.
  • Пришивание и пришивание молний было настоящей головной болью.
  • Это была моя старая любимая футболка Mountain Goats. Вы едва можете увидеть осьминога!

Разное Примеры

Я действительно способен измерять и планировать вещи там, где это необходимо. Когда я захотел повесить эти картины над роялем, я измерил пространство рулеткой, и картинки, и нарисовал схему в своем пулевом журнале.

Видишь? Я умею планировать!

Это потому, что я проделывал в своем доме настоящие дыры, чтобы повесить картины, и у нас красивые стены из красного кедра. Я предпочитаю не облажаться.

Сказав это, я неужели подумал, что я сделал ошибку, и попытался исправить ее, просверлив еще одно отверстие, а потом оказалось, что я был прав в первый раз – к счастью, картинка закрывает отверстие.

В 2019 году мы купили потрясающее белое кожаное кресло над Гамтри, и из-за нашей привычки всего швырнул в него , пластиковые пружинные зажимы лопнули, а потом в середине сиденья стула образовалась очень неудобная выемка . Я приподнял кресло, посмотрел на дно и понял, что пружины нужно выгнуть вверх — но не осталось зажимов, удерживающих натяжение.

Это была проблема с явно… случайным решением. Я даже не могу это описать. Просто посмотрите на фотографии.

(добавляю здесь в правке, потому что «почему легче решить эту проблему с помощью навесных замков?! Что за черт , Катя?! У вас просто в доме валяются навесные замки? и я должен сказать … да. Да. Мы делаем. Что ж, мы сделали. Это были одни из тех вещей, которые мы купили в поездке первого домовладельца в Баннингс, они наверняка нам понадобятся, а потом они пролежали в кухонном ящике около семи лет. Теперь они переместились на несколько метров в гостиную.)

  • Мне нужно было… зафиксировать … пружины на месте.
    … о да. Я пошел туда.
  • Затем мне нужно было создать дополнительное напряжение.
    Кроме того, я только сейчас понял, почему у нас в кухонном ящике на одну окци-ленту меньше, чем я думал.

Когда я был подростком, моя мать не верила в наличие инструментов, и всякий раз, когда мы переезжали, я был человеком, который должен был настроить телевизор на станцию ​​(это предшествовало цифровому телевидению), установить видеомагнитофон (да, , что далеко назад ), установить часы на видеомагнитофоне и микроволновке, и собрать ее очень сложный, тяжелый медный каркас кровати. Я в основном выполнял эту последнюю задачу с помощью гипермобильных суставов, хотя в то время я этого не знал.

Мне пришлось собрать книжную полку ИКЕА без молотка. Я использовал одну из маминых сапог на высоком каблуке, которые она больше никогда не носила (думаю, это были 80-е годы). Сработало . Было неловко? Да. Был ли он плохо взвешен по назначению? Да.

Это самое близкое, что я смог найти — но там был острый носок и кожа была складчатой, а не гладкой.
Главное, этот массивный каблук.

О да. Вот что важно.

Но когда у вас нет подходящего инструмента для работы, вы используете то, что у вас есть.

Это ключевой аспект хакерского решения проблем.

Вы пытаетесь чинить и делать вещи самостоятельно, потому что усилия по выяснению: нужен ли вам эксперт, выяснение того, какому специалисту позвонить, на самом деле позвонить им, составить график, получить расценки, попытаться решить, если это справедливая цена… тьм ; или выяснить, какие инструменты вам нужны и где их взять, а затем собственно купить их, и стоит ли их покупать, если вы не собираетесь их использовать снова, или вы

Плюс, мне нужно встать и мне нужно выйти из дома важные вопросы.

Не похоже, чтобы я мог найти чехол для ремня безопасности нужной длины. Это казалось вероятным, что будет сделано из ткани, которая меня раздражала. Я обнаружил, что стандартные квадратные подушки могут подойти для подушек для коленей, но я не смог найти чехлы, которые не были бы сделаны из грубого материала.

Когда мне было пятнадцать, у меня явно не было ни прав, ни машины, и на это ушло бы около 90 минут пешком до ближайшего хозяйственного магазина за молотком. Просить маму отвезти меня было кошмаром само по себе — просить маму об одолжении было последним средством. Что у меня было дома (помимо шестигранного ключа, который ИКЕА приложила к плоской упаковке), так это пара гребаных ботинок.

После того, как мой отец подарил мне набор основных инструментов, когда мне было четырнадцать, у меня все еще не было отверток подходящего размера для ремонта компьютеров, поэтому я использовал большую головку Philips, которая у меня есть. Он, очевидно, сорвал винты, но в то время он выполнял свою работу, так что именно так я открывал свой компьютер, устанавливал или удалял жесткие диски и дисководы, а также заменял оперативную память (для этого не требовалась отвертка, только открытие случай сделал).

Используй то, что имеешь.

Продолжение следует…

Иногда стоимость действительно решения проблемы непомерно высока (будь то с точки зрения денег, времени или умственной энергии), поэтому вы выбираете более короткий путь. При СДВГ у нас ограничены когнитивные ресурсы, а планирование сложных решений или охота без уверенности в успехе утомительны и разочаровывают.

Не нужно многого, чтобы расстроить и обескуражить нас.

Но решить проблему весело . Мы получаем положительные отзывы об этом.

Вот почему летом мы накрываем мансардные окна свернутым брезентом и закрепляем его набором из восьми зажимов-бульдогов. Мой папа постоянно говорит нам, что мы можем установить дистанционные жалюзи, которые моя мачеха организовала для их дома, потому что она немного беспокоилась о том, что мой семидесятилетний отец все время карабкается на крышу (и это справедливо).

Но эти жалюзи с дистанционным управлением звучат дорого, и есть другие дорогие бытовые улучшения, которые мы бы расставили в первую очередь, и я совершенно не против подняться на крышу, и настоящее решение работает .

Иногда нам нужно сложное решение, и в этом случае мы часто демонстрируем итеративное решение проблем, когда мы решаем один компонент проблемы за раз, а затем смотрим, что все еще вызывает проблемы; мы можем использовать восторженный выброс дофамина первого шага, чтобы подпитывать второй шаг, отталкиваясь от нашего частичного успеха, чтобы искать дополнительный успех.

Во второй части мы глубоко погрузимся в этот повторяющийся процесс и узнаем все о…

…удобное кресло!

Нравится:

Нравится Загрузка…

Хакерский скрипт для переноса моего контента WordPress 2014 года в Hugo. · GitHub

.
.
# кодировка=utf-8
»’
Я написал этот хакерский скрипт для переноса моего контента WordPress из 2014 года
для постов Хьюго. Требуется:
* Питон 2.7.
* Тривиальный проект Django 1.
8 с «настоящим-django-wordpress»
Установлено приложений/пакетов (на PyPI). Предполагается, что проект
был настроен, чтобы разрешить этому приложению доступ к вашему WordPress
содержание.
* Пакет toml для написания вступительной части toml.
Следует отметить, что я использовал некоторые из этих
немного устаревшие по состоянию на 2017 год технологии, потому что мои последние
Дамп SQL моего сайта WordPress был с 2014 года. Так что я был конкретно
ищет инструменты, которые понимают базу данных WordPress
схема той эпохи.
»’
импорт ОС
импорт томл
os.environ.setdefault(«DJANGO_SETTINGS_MODULE», «recover.settings»)
импорт джанго
django. setup()
из wordpress.models импорт Пост
HUGO_DIR = os.path.join(‘хьюго’) ​​
HUGO_POSTS_DIR = os.path.join(HUGO_DIR, ‘контент’, ‘сообщение’)
категорий = set()
кодеки импорта
по умолчанию charref(s):
»’
При наличии символа Юникода вернуть объект символа XML
ссылка, представляющая это.
»’
вернуть юникод (s.encode (‘ascii’, ‘xmlcharrefreplace’))
# Что-то странное происходило с моим дампом WordPress SQL, где
# некоторые сообщения содержали символы, отличные от ASCII, которые были закодированы как UTF-8
#, но ошибочно интерпретируется как другой набор символов. Это сбивало с толку
# разобраться как их исправить чисто через набор символов
# преобразования; однажды я собрал некоторые данные и узнал, что там
# было всего около дюжины уникальных искаженных последовательностей, хотя это был
# легко просто создать карту конверсии.
convert_map = {
u»>2\u20ac\u2122″: u»‘»,
u»>2\u20ac\u02dc»: u»‘»,
u»>2\u20ac\u2122\u00e2\u20ac\u009d»: u» «,
u»>2\u20ac\u0153″: u'»‘,
u»>2\u20ac\u201c»: u»—»,
u»>2\u20ac\u201d»: u»—»,
u»>2\u20ac\u009d»: u'»‘,
u»\u00e2\u20ac\u0161\u00c3\u201e\u00c3\u00ac»: u» «,
u»\u00c3\u00a7″: charref(u»ç»),
u»\u00c4\u2021″: u»c»,
u»\u00c3\u00af»: charref(u»ï»),
}
# Сопоставление нераспознанных последовательностей символов с
# (slug, вхождение с окружающим текстом) кортежи регистрируют информацию о
# вхождения определенной последовательности.
bad_chars = {}
# Глобальная переменная, используемая для отслеживания текущего слага
# обработано есть.
curr_slug =
определение myfixerupper (ошибка):
»’
Кодек ошибки Python, который пытается исправить символ, отличный от ASCII
последовательностей через карту преобразования; если запись не найдена в
Карта, запись заносится в `bad_chars` и нераспознанный байт
Последовательность заменена на «LOL».
»’
invalid_chars = ошибка.объект[ошибка.начало:ошибка.конец]
, если invalid_chars в convert_map:
возврат (conversion_map[invalid_chars], error.end)
, если invalid_chars не в bad_chars:
bad_chars[invalid_chars] = []
bad_chars[invalid_chars].append(
(curr_slug, error.object[error.start — 10:error.end + 10])
)
возврат (u’LOL’, error. end)
codecs.register_error(‘myfixerupper’, myfixerupper)
# Поля в `post` были найдены при просмотре:
# https://github.com/istrategylabs/django-wordpress/blob/master/wordpress/models.py
для сообщения в Post.objects.published():
print(«Обработка {}…».format(post.slug))
имя файла = os.path.join(HUGO_POSTS_DIR, post.slug + ‘.md’)
с открытым (имя файла, ‘w’) в качестве исходящего файла:
по умолчанию запись (содержание):
, если isinstance (контент, юникод):
контент = content. encode(‘utf-8’)
outfile.write(содержимое)
публикация = post.post_date.date()
метаданных = {
‘дата’: pubdate.isoformat(),
‘заголовок’: post.title,
‘категории’: [
cat.name.replace(‘&’, ‘&’) для кота в post.categories()
],
‘URL’: ‘{}/{}’.format(
pubdate. strftime(‘%Y/%m’),
пост.слаг,
)
}
Categories.update(метаданные[‘категории’])
запись(и’+++\n’)
запись (toml.dumps (метаданные))
запись(и’+++\n\n’)
curr_slug = пост.слаг
# Я сделал простой шорткод Hugo, который просто вставляет
# расположение каталога, куда я положил весь свой старый wordpress
# загрузок, чтобы расположение этих загрузок оставалось несвязанным
# из контента блога.
# Следующая замена просто заменяет абсолютные URL-адреса на
# мои загрузки с этим шорткодом.
контент = post.content.replace(
u’http://www.toolness.com/wp/wp-content/uploads’,
u'{{< wordpress-upload-base-url >}}’,
).encode(‘ascii’, ‘myfixerupper’)
запись(содержание)
печать («Готово»)
print(«Конечные категории: {}».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *