divv

Рейтинг
149
Регистрация
02.02.2010
да

Так можно посмотреть все произвольные поля поста

print_r(get_post_meta(55));
Каталог товаров (витрина)  без корзины, без выделения какого либо конкретного товара считается рекламой? нужно маркировать?

Способ может и странный, но он работает

wp-config.php

$link = $_SERVER['REQUEST_URI'];
$link =  ltrim($link, '/');
$link = explode('/', $link);

$arr = ['omsk','ufa','msk'];

if(!empty($link[0]) && in_array($link[0], $arr)) {
   define( 'WP_HOME', 'http://site.ru/'.$link[0]);
define( 'CITY', $link[0]);
}

1. заменяет все ссылки на странице добавляя в начале урл город(slug): site.ru/msk/mypage, site.ru/msk

2. 404 ошибка для не существующих городов в массиве

3. открывает страницу без города, например для Москвы: site.ru/mypage, site.ru

4. не нужно заморачиваться с rewrite rule для разных типов записей и таксономий (это тоже как вариант, второй способ)


Нужно добавить города с соответствующими слагами в базу, далее получать объект записи по слагу (константа CITY) и использовать по назначению, например подставлять в тайтл название города или использовать для шорткода.

Ростислав Шацкий #:

Скажите, я правильно понимаю, что речь идет об одном сайте, в архитектурное древо которого закладываются города как тип записи? Далее документ(ы) могут открываться через город и иметь свою оптимизацию под поиск? А если в контенте(тексте) документа требуется подмена города? Как то завязывать на тип записи..?

Да, это один сайт, один набор городов, рубрик, меток и т.д.

Подмена города для шаблонных страниц (одинаковых для всех городов) через шорткоды или свои расставленные макросы.

Нужно только на всех страницах сверять на наличие города в базе, т.е. из адреса site.ru/msk/ или site.ru/msk /page, получать из урл msk, сверять его с базой и если есть, то менять контент на странице под этот город. по сути это одна функция, которую можно везде использовать , в том числе для создания шоркодов.


Реализация в целом зависит от самого сайта. Либо это как доска объявлений, где каждое объявление привязано только к одному городу и должно отображаться только в этом городе. Либо это как интернет-магазин, где обычно товары во всех городах одинаковые и меняется только сео и контакты.

Давно уже делал на поддоменах и на разделах.

Если на разделах, то  в wp-config.php нужно принудительно менять адрес сайта

define( 'WP_HOME', 'http://site.ru/msk');


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


Список городов добавлялся в произвольном типе записей.

Если нужна фильтрация для записей для каждого города своя, то при публикации нужно выбирать еще и город.

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

С воскресенья практически нули в доходе.
Сначала подключить подключить ядро
require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';

Вывод шорткода в php

echo do_shortcode('[shortcode]');

Общее количество записей нужно знать для общего кол-ва страниц пагинации.

Первая страница - из базы по запросу берется к примеру первые 10 записей

Вторая страница - из базы берется следующие 10 записей, в запрос добавляется offset = 10, чтобы пропустить первые 10 и не получать их базы.

Вообще не понятно, что за вопрос, в чем проблема?

 $query->found_posts;

Если не нужна пагинация и информация об общем количестве записей по запросу, то это можно отключить

no_found_rows = true

тогда и запрос будет быстрее выполнятся.

Параметр posts_per_page - ограничивает количество постов в запросе, сколько укажите, столько и будет.

posts_per_page = -1 - выводит все посты

Всего: 552