is_single() и кириллица
У меня существуют кастомные посты. И, перед добавлением нового мне нужно проверить, не существует ли такой же. Для этой цели я использую проверку is_single().
if(is_single( sanitize_title ( $newImagePost['description'] ) ) ) { echo "Такой пост есть"; }else{ echo "Такого поста ещё нет"; }
В $newImagePost['description'] содержится точно то же самое, что и если задать тайтл для поиска руками, то есть пост с таким заголовком существует.
Но почему-то если руками задаешь - то WP находит такой пост, а если через переменную (она используется в цикле форич) то нет. В чём может быть проблема? Пробовал и с sanitize_title и без, результат один и тот же.
Может быть вы подскажете какой-то другой метод проверки, существует ли пост (кастомного типа), и если да, то возвращал его ID?
Спасибо.
Ты покажи что внутри переменной, так не понятно, а гадать не хочется...
Проще говоря, пытаюсь понять, как мне найти ID у кастомной записи по заголовку.
Если я делаю is_single('Привет') он это самый "Привет" не находит. И is_single( sanitize_title('Привет') тоже.
Может быть есть какой-то другой способ, более кошерный? С учётом того, что это используется в пакетном импорте кучи постов, поэтому время выполнения, безусловно, важно.
Пока вышел из положения так:
Но это жёстко тормозит систему.
Так is_single же проверяет текущий запрос на соответствие...
Короче дай весь код, ты что-то не то делаешь... Там нужно указать какой пост проверить, потом попробовать его найти в базе... Для быстродействия тут можно проще запрос написать поиск по полю post_name...
Как он должен и может выглядеть?
Весь код на данный момент выглядит так:
...
is_single тут не подходит вообще... он для текущего запроса страницы предназначен, а не работать с переменными в цикле...
Своя функция тебе нужна похоже, поиск по полю post_name оно индексное
Спасибо!
И второй вопрос. Так как я обрабатываю это в цикле, где может быть дофига итераций, встаёт вопрос об таймауте. Нет ли у тебя где-то примеров простого вызова ajax, для того, чтобы последовательно проходить итерации? Проще говоря, мне нужно один за другим, делать итерации этого форича.
И, сразу же, последний вопрос: мне приходится для импорта featured image прописывать руками конструкцию внешнюю типа
Тем не менее они у меня лежат в директории локально. Пробовал указать ему полный путь - не хочет. Как-то можно импортировать файлы не через внешний URL? Мне кажется оно так и быстрее будет...
Проще тогда получить ВСЕ тайтлы постов и уже обращаться к массиву значений в поисках соответствия.
Тоже хороший вариант, может даже лучший!
Где-то отвечал на такой вопрос вроде, но найти не могу... В поиске сайта попробуй поискать на эту тему, где-то было...
Конечно нужно через путь получать, тут все тормоза! Найти путь и получай через него. Юзай константу ABSPATH .'...' или $_SERVER['DOCUMENT_ROOT'] .'...'.