Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

10 вещей, которые стоит сделать при смене темы в WordPress

Чулан
В последнее время приходится периодически править чужие темы, что натолкнуло на мысль — составить список тех вещей, которые необходимо выполнить, чтобы новая тема работала так же как и старая — на все 100%. К тому же, надеюсь (в который уже раз даю себе обещание) сменить тему в своём блоге на нечто более живописное.

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

1. Удостоверьтесь, что весь перевод (если вы его делали) сохранен в кодировке блога, а то печально наблюдать крякозябры в перемешку с нормальным текстом.

2. Перенесите свои спец. виджеты из старой темы (код из файла function.php) в новую, проверив чтобы названия виджетов не дублировались.

3. Заново разместить все свои виджеты в сайдбаре(-ах), указав необходимые настройки.
3 и 4 пункты — если вы используете тему с динамическим сайдбаром, если же нет, то правим прямо sidebar.php

4. Переносим функции, которые размещали для правильной работы плагинов. Например, тот же Wp-PageNavi, WP-RelatesPosts, ну и в том же духе.

5. Вставляем в хэдер или футер коды своих «счётчиков/анализаторов» (liveinternet/google-analystic), чтобы потом не удивляться резкому падению посещаемости до 0.
Для пользователей аналистика советую плагин Google Analyticator, который кроме автоматического внедрения нужного кода в хэдер, ещё и позволяет исключать определенных пользователей. Ведь вам же не нужно считать свои собственные клики?

6. Проверяем правильно ли прописан фид, если вы перешли на FeedBurner, т.к. ссылка по умолчанию будет на www.сайт.ру/feed.
Мой вам совет, чтобы не морочить себя пунктом 6, воспользуйтесь плагином Feedburner Feed Replacement, который автоматически редиректит все обращения к вашему фиду на фидбёрнер.

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

8. Протестируйте свою тему — пройдитесь по всем разделам, поищите через поиск, проверьте, чтобы текст был грамотно написан, коментарии оставлялись, а плагины не выдавали ошибок, а фид вёл туда куда нужно. Причём советую перед тестом разлогиниться, так как большинство фич (та же капча) видны только гостям.

9. Проверьте как ваш сайт отображается в разных браузерах. И если у вас на компьютере стоит, например, только IE (вздрогнул при мысли об этом), то воспользуйтесь сервисом http://www.browsershots.org/.

10. Оповестите читателей об этом знаменательном событии. Ведь многие читают вас исключительно по rss и не смогут оценить изменений. Так же попросите посетителей оставлять свои замечания и сообщать вам о найденных ошибках в комментариях к новости или в письмах. Обратная связь — полезная возможность, которой не стоит пренебрегать.
Ну вот и всё. Надеюсь, что следуя данному списку вы сэкономите себе и время, и нервы, а ваши посетители будут обрадованы красотой и функциональностью блога.

Оригинал статьи «10 вещей, которые стоит сделать при смене темы в WordPress»
Всего голосов 15: ↑10 и ↓5 +5
Просмотры351
Комментарии 6

Как повысить количество скачиваний вашей темы

Чулан
Пост посвящается всем дизайнерам и верстальщикам тем под WordPress.
Порой я впадаю в уныние от того, что дизайнер из меня никакой, а вёрстка не приносит радости, а только нервный тик. Особенно когда подгонишь всё качественно в FireFox, а потом посмотришь на сайт в IE. Сидишь и тихо всхлипываешь.
К чему я это пишу? А к тому, что умей я быстро и качественно делать темы для ВордПресса, то вполне возможно имел бы ого-го сколько бэклинков, ведь никто не мешает вставить ссылку на себя в футере.
Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Просмотры237
Комментарии 2

Основы Python — кратко. Часть 3. Списки, кортежи, файлы.

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

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

В общем, те кому не интересно — читают следующую новость, а остальных — прошу пройти
под кат
Всего голосов 46: ↑38 и ↓8 +30
Просмотры352.3K
Комментарии 58

Метод, возвращающий весь объект

Чулан
Здравствуйте, уважаемые Знающие люди. Простите если я не туда разместил свой вопрос — делаю это впервые.

Вот я создал класс, который позволяет, как мне кажется, удобнее работать со списками данных. Удобство заключается в том, что объект в большинстве методов возвращает сам себя, что позволяет далее с ним играть. Используя Zend for Eclipse и комментарии к методам return asList я получаю кайф при работе со списками данных. Пример:

$obj = new asList;
print_r( $obj->
	set(array("my"=>"lol","dear"=>"rofl","mom"=>"hehe"))->
	intersect("hello,my,dear,friend")->
	merge("test,yo")->
	fillValuesFrom(array("yo"=>"good test"))->
	asArray() 
);

Возвращает:
Array ( [my] => [dear] => [test] => [yo] => good test )

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

Ниже идёт код класса.
Читать дальше →
Всего голосов 18: ↑12 и ↓6 +6
Просмотры249
Комментарии 30

Полноценные коллекции в PHP

PHP
Не так давно при разработке своего проекта возникла идея реализовать полноценные коллекции для хранения объектов одинакового типа, по удобству напоминающие List<Type> в C#.
Идея состоит в том, чтобы коллекции, содержащие объекты различных типов сами по себе различались, а не имели, скажем, один унифицированный тип Collection. Другими словами, коллекция объектов типа User это не то же что коллекция объектов Book. Естественно, первой мыслью было создание различных классов для коллекций (UserCollection, BookCollection, …). Но данных подход не обеспечивает нужной гибкости, плюс ко всему, нужно тратить время на объявление каждого подобного класса.
Немного поразмыслив, реализовал динамическое создание классов коллекций. Выглядит это так: пользователь создаёт коллекцию объектов типа Book, а нужный тип BookCollection создаётся (т.е. объявляется) автоматически.
Читать дальше →
Всего голосов 73: ↑45 и ↓28 +17
Просмотры8.3K
Комментарии 74

Список горячих клавиш для входа в меню BIOS

Чулан
Enter to BIOS menu: press ??? key... Многим продвинутым пользователям может потребоваться воспользоваться меню BIOS для изменений, установленных по-умолчанию, функций ввода-вывода аппаратной части компьютера. В разных ПК и ноутбуках загрузка меню BIOS осуществляется с помощью разных комбинаций клавиш.
Внутри, список горячих клавиш:
Всего голосов 27: ↑17 и ↓10 +7
Просмотры14.6K
Комментарии 10

Оформление нумерованных списков

Разработка веб-сайтов
Перевод
Меня всегда раздражало то, как сложно оформлять нумерованные списки. Достаточно часто дизайн требует чего то большего, чем просто число — другой шрифт, размер, цвет, фон, да мало ли?

Вас тоже? Добро пожаловать под кат.
Читать дальше →
Всего голосов 72: ↑58 и ↓14 +44
Просмотры42K
Комментарии 28

Unity — выбираем, какой массив использовать

Разработка веб-сайтовПрограммированиеUnity
Для тех, кто сталкивался с Unity, — не секрет, что эта платформа предоставляет большое количество разнообразных массивов — аж 5 штук (для JS и того больше — 6!). Так что же выбрать и как не запутаться в этом многообразии?

Начну — с конца. Сразу же приведу данные собранные в табличку.
Нетипизированный Типизированный
Доступ по индексу,
фиксированная длина
- встроенный массив
(built-in array)
Доступ по индексу,
динамический размер
ArrayList
или Javascript Array
List
Доступ по ключу Hashtable Dictionary
А теперь — давайте поговорим о каждом в отдельности…
Читать дальше →
Всего голосов 19: ↑8 и ↓11 -3
Просмотры64K
Комментарии 22

Неприятная особенность std::list, о которой не все знают

C++
Двусвязный список — это фундаментальная структура данных, о которой все знают и повсеместно используют. Все знают почему и в каких случаях он эффективнее вектора, какие операции имеют линейную сложность, а какие — константную…

Хотя постойте, знаете ли вы какова сложность функции size ()?
«Конечно же я знаю — О(1)!», ответят многие из вас, «Что может быть проще?»

size_type  size() const                             
{
       return _size;
}


Тривиально, эффективно и безопасно, не так ли?
Я бы реализовал эту функцию именно так, большинство из вас сделали бы тоже самое.

Однако, те, кто писал реализацию GNU STL, другого мнения на этот счет.
Читать дальше →
Всего голосов 111: ↑96 и ↓15 +81
Просмотры49.6K
Комментарии 92

Unrolled linked list на Java

JavaАлгоритмы
Из песочницы
Всем привет.

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

В этот раз мне на глаза попались статьи по cache oblivious алгоритмам. Это такие алгоритмы, которые изначально более оптимизированы для работы с подсистемой кэширования современных процессоров.

Одним из представителей этой группы является Unrolled linked list.

Что же это такое?
Читать дальше →
Всего голосов 40: ↑36 и ↓4 +32
Просмотры2.1K
Комментарии 22

Накладные расходы памяти у коллекций

Java
Мне было интересно, какие коллекции сколько съедают дополнительной памяти при хранении объектов. Я провёл замеры накладных расходов для популярных коллекций, предполагающих хранение однотипных элементов (то есть списки и множества) и свёл результаты на общий график. Вот картинка для 64-битной Hotspot JVM (Java 1.6):

Читать дальше →
Всего голосов 67: ↑64 и ↓3 +61
Просмотры79K
Комментарии 14

DoubleArrayList — универсальная реализация java.util.List

JavaАлгоритмы
Recovery mode
Не так давно я считал. что нет оправдания использованию java.util.LinkedList в качестве реализации java.util.List. Но что-то заставило меня его поискать. Давайте разберемся. Любой грамотный Java-специалист знает, что java.util.ArrayList нужно использовать тогда, когда нам нужен быстрый доступ по индексу, а java.util.LinkedList, если нам нужно вставлять или удалять элементы в середине списка. Не многие из них догадываются, что если мы будем вставлять или удалять элементы в середине списка методами remove(int index) и add(int index, E element), то на поиск нужного элемента будет затрачено время в среднем пропорциональное размеру списка O(N). Так когда же возникает выгода от использования java.util.LinkedList?
Читать дальше →
Всего голосов 25: ↑11 и ↓14 -3
Просмотры9.3K
Комментарии 19

Сравнение скорости работы ArrayList и LinkedList на практике

Java
Из песочницы
Приветствую Вас!

ArrayList и LinkedList — знают все. В каких ситуациях работает быстро, а в какой ситуации работает медленной тот или другой список — знают тоже все, кто в теории, а кто на практике. Данный пост подходит для тех, кто только начинает изучать Java, или кто слышал, о том «что быстрее», но не видел на практике.
Читать дальше →
Всего голосов 38: ↑13 и ↓25 -12
Просмотры46.7K
Комментарии 55

Вставка в середину: ArrayList против LinkedList

ПрограммированиеJavaАлгоритмы
Как-то на собеседовании мне задали вопрос: какая реализация списка выполнит вставку в середину быстрее: ArrayList или LinkedList? С первого взгляда вопрос простой — нужно посчитать алгоритмическую сложность каждого варианта и сравнить их.
Читать дальше →
Всего голосов 42: ↑31 и ↓11 +20
Просмотры58.9K
Комментарии 115

Добавление jump lists в приложение UWP

Разработка под Windows PhoneРазработка под Windows


Jump lists были и остаются частью классических приложений Windows, позволяя перейти к различному функционалу приложения. Например, открыть последний файл или запустить приложение с активированной фичей.
Приложения UWP позволяют нам использовать аналогичный функционал, реализуемый в виде дополнительных пунктов контекстного меню панели задач или плитки стартового экрана.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры3.7K
Комментарии 2

Великолепная девятка IT авторитетов LinkedIn по версии CIO

Веб-аналитикаУправление медиа
1Учитывая тот факт, что на LinkedIn зарегистрировано более 380 миллионов человек, довольно трудно отделить мух от котлет. Представляю вам список из девяти человек, являющихся одними из самых активных и уважаемых пользователей LinkedIn в технологической отрасли.

LinkedIn по заказу CIO недавно прочесал базы своих пользователей, чтобы определить наиболее активных и влиятельных пользователей работающих в IT-индустрии. Так как из всей базы можно было бы составить список выходящий далеко за тысячу участников, его решили ограничить регулярностью постов, нативностью английского и согласием участника. Таким образом и был сформирован список. Вообще у всяких списков есть свои плюсы, хотя многие их не очень то жалуют. Мне, например, частенько везет и я нахожу в списках различных интересных персонажей, которых просто так не найти. Ну что же, приступим.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры5.5K
Комментарии 0

Доступные интернет ресурсы и инструменты для стартапов

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

Предприниматели делают все возможное, чтобы привести бизнес к успеху, но иногда этого недостаточно. Для того, чтобы помочь начинающим предпринимателям Бен Тосселл (Ben Tossell), куратор и комьюнити менеджер проекта ProductHunt составил небольшой список полезных для них ресурсов, с которым я вам и предлагаю ознакомиться.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры7.2K
Комментарии 0

Функторы (глава книги «Теория категорий для программистов»)

C++HaskellМатематикаФункциональное программирование
Перевод
Tutorial

Это седьмая статья из цикла «Теория категорий для программистов». Предыдущие статьи уже публиковались на Хабре:



Функторы


За понятием функтора стоит очень простая, но мощная идея (как бы заезжено это ни прозвучало). Просто теория категорий полна простых и мощных идей. Функтор есть отображение между категориями. Пусть даны две категории C и D, а функтор F отображает объекты из C в объекты из D — это функция над объектами. Если a — это объект из C, то будем обозначать его образ из D как F a (без скобок). Но ведь категория — это не только объекты, но еще и соединяющие их морфизмы. Функтор также отображает и морфизмы — это функция над морфизмами. Но морфизмы отображаются не как попало, а так, чтобы сохранять связи. А именно, если морфизм f из C связывает объект a с объектом b,


f :: a -> b

то образ f в D, F f, связывает образ a с образом b:


F f :: F a -> F b

(Надеемся, что такая смесь математических обозначений и синтаксиса Haskell понятна читателю. Мы не будем писать скобки, применяя функторы к объектам или морфизмам.)


Читать дальше →
Всего голосов 33: ↑33 и ↓0 +33
Просмотры28K
Комментарии 2

List.of() и все, все, все…

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

На этот раз речь пойдет о нововведениях Java. А именно про ImmutableCollections. Вы наверное где-то уже использовали List.of(). Скорее всего в тестах, ибо какой-то практической ценности в этих методах я не вижу. Но даже в тестах можно наткнуться на банальные подводные камни. Банальны они по причине того, что разок прочитав их код, сразу все становится на свои места, но остается очень и очень много вопросов, почему сделанно именно так, а не по другому.

Начнем пожалуй с интерфейса List, в котором есть статические функции of.

Целых ОДИННАДЦАТЬ!!!


List<E> List<E>.<E>of(E e1);  

List<E> List<E>.<E>of(E e1, E e2);  

List<E> List<E>.<E>of(E e1, E e2, E e3);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6, E e7);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10);  

List<E> List<E>.<E>of(E... elements)  


Зачем же в джаве столько методов??? Долго я задавался этим вопросом, но никак не доходили руки порыться в source коде и погуглить. Сегодня таки я нашел ответ, который меня абсолютно неудовлетворил.

The fixed argument overloaded methods are provided to save the overhead of array-allocation, initialization and garbage collection in case of vararg calls.
Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Просмотры14.9K
Комментарии 48

Что будет если объединить ArrayList и LinkedList?

Java
Из песочницы

Приветствую вас!
После изучения коллекций, а именно такие реализации List, как ArrayList и LinkedList, возникла идея, а почему бы не объединить эти структуры данных в одну и посмотреть, что из этого получится.


Зачем это нужно?


  • Проблема ArrayList — у него есть начальный размер по умолчанию DEFAULT_CAPACITY или заданный размер initialCapacity, при превышении этого размера, создается новый массив большего размера, при этом туда копируются данные из старого массива, что по времени очень затратно и именно это дает в наихудшем случае алгоритмическую сложность O(n)
  • Проблема LinkedList — здесь наоборот, добавить новый элемент, это всего лишь добавить новую связь (создать еще одну Node и добавить ссылку на неё), но операция получения элемента по индексу очень затратна, т.к. нужно будет пройтись по всему списку от начала, что очень затратно и дает O(n)

Решение


Что если создать такую структуру данных, при которой вставка и получение любого элемента будет за константное время. Буду использовать технологию ArrayList без пересоздания массива
Для того чтобы связать их между собой, буду использовать двусвязный список:

Читать дальше →
Всего голосов 27: ↑16 и ↓11 +5
Просмотры10.3K
Комментарии 29
1