- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Кстати, парни, свете топика думаю будет полезен и этот пост Тимура.
Полезная штуковина! Добавил её в закладки, чтобы не потерять. ;)
И, мне кажется, я вижу решение моей проблемы. Решение простое и легко реализуемое.
Итак, мне надо было 3-4 штуки CPF из одних CPT использовать на страницах с выводом инфы с других CPT. Дублировать и ручками корректировать везде и вся - плохо. Иметь только в одних CPT, но выводить с другими - нехилая нагрузка БД и опять плохо. :)
Решение:
Эти 3-4 нужных CPF будут в CPT "двигатель авто", и будут редактироваться там же. Но, воспользовавшись встроенной возможностью WP перформить что-то каждый раз, когда происходит сохранение "поста, эти же CPF мы будем дублировать (да-да, именно дублировать) во все нужные CPT "модели авто"!
Заполнил/изменил значения в CPT "модель двигателя", нажал кнопку "Сохранить", и запустилась функция, лупящая по БД, которая ищет в каждом CPT "модель авто" meta_key с именем "установленная модель двигателя" и если его meta_value совпадает с title только что сохраненного CPT "модель двигателя", создаёт дубликаты этих нужных 3-4-х CPF и/или меняет их значения, если они отсутствуют или отличаются.
И здесь большое спасибо ivan-lev, за пост номер 9 в этой теме, где он дал ссылку сюда.
Что скажете, друзья?
Как по мне - решение неплохое. Нагрузка на БД будет только в моменты сохранения постов, что приемлемо.
Вывод CPF'ов на страницах будет происходить стандартным способом WP - используя get_post_meta( get_the_ID(), ... );.
Вывод CPF'ов на страницах будет происходить стандартным способом WP - используя get_post_meta( get_the_ID(), ... );
Вот основная нагрузка. Ты же хочешь вывести 200-300 постов (СРТ) со "некоторыми" CPF. Т.е. это тысячи запросов.
А при сохранении это такие мелочи :)
кеширование, кеширование и ещё раз кеширование.
Ну а сам способ реализации задачи "общих данных" хотя и несёт некоторую избыточность, но почему бы и нет.
Вот основная нагрузка. Ты же хочешь вывести 200-300 постов (СРТ) со "некоторыми" CPF. Т.е. это тысячи запросов.
Нет-нет, там всё в одном вордпрессовском Loop'е, поэтому запросов много нет - насколько я знаю, оно штатно кэшируется.
Поправьте, если я не прав.
Нет-нет, там всё в одном вордпрессовском Loop'е, поэтому запросов много нет - насколько я знаю, оно штатно кэшируется.
Поправьте, если я не прав.
Признаться, заставил задуматься-засомневаться :).. Могу ошибаться, но по-моему не прав.
Могу ошибаться, но по-моему не прав.
То есть, ты думаешь, что код такого вида создаст здоровенную кучу запросов и нагрузку? WP Loop (всего постов 300 штук):
---------- Добавлено 05.09.2013 в 17:39 ----------
А ещё я случайно нашёл вот такую ОЧЕНЬ интересную штуку...
То есть, ты думаешь, что код такого вида создаст здоровенную кучу запросов и нагрузку?
Так как ты написал - наверное ещё больше, чем если сделать правильно - перебором массива (через foreach например) ;).
У тебя ж там не 30-40шт вычислений\выводов, а 30-40шт Х 200-300CPT = 6000-12000.
Хотя повторюсь - я не уверен. Как-то не вникал в такие нюансы.
Ты же, как я погляжу, с английским дружишь (в отличии от меня ;) ), думаю сможешь найти эту инфу и поделиться с народом :)
А ещё я случайно нашёл вот такую ОЧЕНЬ интересную штуку...
Если ты про плаг, то, да плаг хорош, но не всемогущ. Он много чего пропускает. А русский там такой, что лучше бы он был английским :)
Хотя это, наверное, лучший, из всех подобных. Если надо быстро развернуть - проверить. На реальных сайтах всё же лучше чуток заморочится и вручную прописать.
Так как ты написал - наверное ещё больше, чем если сделать правильно - перебором массива (через foreach например)
Дык, while есть тот же перебор, но с параметром.
Запрос к базе один, но выполнение ресурсоёмкое. Не? :)
Я сам PHP только недавно стал изучать - нуб пока. :)
Ты же, как я погляжу, с английским дружишь
Дружу. Даже предпочитаю на нём гуглить и изучать php, js и т.д. ;)
думаю сможешь найти эту инфу и поделиться с народом
Тут не просто найти - надо допереть и понять самому, как оно происходит. Но, вроде, из того, что я понял, читая про ВП, Loop не нагружает БД уймой запросов.
Надо будет ещё почитать на эту тему.
На реальных сайтах всё же лучше чуток заморочится и вручную прописать.
Я тоже так думал, пока не стал этот плагин юзать - очень удобная и стабильная штука оказалась. Она не урезает и не скрывает функционал CPT/CPF. Всё есть - не надо дополнительно кодить.
И вот эти "связи" разных CPT - клёвая штука, о существовании которой я только сейчас узнал.
Оно решает мою проблему, не заставляя даже кодить! О_о
---------- Добавлено 05.09.2013 в 19:25 ----------
Сейчас я с помощью этого плагина (Types) попробовал сделать связь CPT "модель двигателя" и CPT "модель авто", где первый является "родителем" (так как к нему должно "относиться" много разных моделей авто), а второй "ребёнком".
Настроил так, что те самые часто меняющиеся CPF принадлежат "родителю", но они также выводятся на страницах редактирования "детей".
На страницах редактирования "родителя" появляется весь список "детей" и эти поля для быстрого редактирования. Удобно!
Единственное, что не нравится, надо править поля для каждого "ребёнка" - они не берут изначально данные "родителя"...
Дык, while есть тот же перебор, но с параметром.
:) В данном случае не о том переборе речь :)
Я имел ввиду
Хотя, да я забыл, тебе же не все, а только несколько значений дано получить. Тогда наверное не стоит городить огород.
Я тоже так думал, пока не стал этот плагин юзать - очень удобная и стабильная штука оказалась. Она не урезает и не скрывает функционал CPT/CPF. Всё есть - не надо дополнительно кодить
Да удобная, кто ж спорит. Я ж говорю - наверное лучший из аналогов. В 99% случаев он вполне..
Но вот есть там не всё (во всяком случае с полгода назад). Я сейчас не вспомню чего конкретно нет, но нет. И на оф форуме ВП не так давно тоже разбирали проблемку, оказалось именно из-за этого плага. То ли из-за дефолтных значений, которые нельзя изменить (нет их в настройках), то ли просто из-за нехватки этих настроек.
И опять же. быстрота работы. Этот функционал работает на фронтеэнде. А настройки не прописываются в functions.php, а хранятся в базе. Так что, как мне кацца, это доп нагрузка.
Да, был какой-то аналогичный плаг, который в админке генерил код, который по идее должен быть в functions.php. Я первое время его юзал для того, что бы не писать вручную :) Настроил - скопировал - вставил.
Сейчас, если доходит дело до этого - мне проще скопировать из ранних проектов (или даже нагугленого и мануалов ;) ) и просто изменить что надо :)
В данном случае не о том переборе речь
Я имел ввиду
Не закешируется каким-нибудь W3 Total Cache? :)
Я не могу использовать each, так как на страницах манипулирую (куча разного php кода) данными и выводом в зависимости от содержания meta_value в том или ином meta_key.
Иначе мне и не надо было бы иметь столько разных CPF - всё запихнул бы в text_area, да и всё... :)
Не закешируется каким-нибудь W3 Total Cache?
Думаю закешируется сгенерённая страница, а не отдельные данные с неё :)