- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Wordpress и MagicFields
Как получить ID всех страниц у которых заполнено конкретное дополнительное поле.
Я сделал так. Но сердцем чую, что есть путь в 10 раз короче.
mysql_select_db(DB_NAME) or die("Не могу подключиться к базе.");
$article_thumb_query = "SELECT ID FROM `wp_posts` WHERE post_type='page' AND post_status='publish'";
$article_thumb_res = mysql_query($article_thumb_query);
while($article_thumb_row = mysql_fetch_array($article_thumb_res))
{
$article_thumb_array[] = $article_thumb_row['ID'];
}
foreach ($article_thumb_array as $value) {
echo "<b>$value</b><br>";
if (get (procent, $group_index=1, $field_index=1,$post_id=$value) == "" )
{echo 'Нужное допполе отсутствует!';}
else {echo 'Доп поле procent заполнено!'; $id_magic_fields[] = $value;}
}
А почему сразу SQL не вытащить? Если я правильно задачу понял -
SELECT ID FROM `wp_posts` WHERE post_type='page' AND post_status='publish' and procent is not null
Да. Так тоже можно и короче будет.
Но я вот тут нашел http://www.sonika.ru/blog/wordpress/custom-fields-wordpress.htm (19-й способ)
Вообще по ходу короткий вариант.
<?php query_posts('post_type=page&meta_key=procent'); ?>
Только он у меня почему-то не пашет. Может что неверно понял...
<?php query_posts('post_type=page&meta_key=procent'); ?>
Примеры тут. Желательно клепать новый WP_Query из аргументов.
<?php
$args = array(
'post_type' => 'page',
'meta_query' => array('key' => 'procent')
);
?>
<?php query_posts($args); ?>
Не пашет так...
Не пашет так...
Подтёр почти сразу, на локалке не отработал тоже.
Попробуйте вариант
$query = new WP_Query('post_type=page&meta_key=procent');+ вывод через
Че-то пустой результат какой то.
Я вот даже для простоты вот что хотел сделать
<?php while ($query->have_posts()) : $query->the_post(); ?>
<div><?php echo get('procent');?><div> // вывести значения всех доп-полей procent
<?php endwhile; ?>
И че-то не пашет. Мож уже туплю просто?
Вообще в своем старом коде я вытаскивал записи так:
Но это неудобно, т.к. id мне в дальнейшем известен не будет. Т.е мне нужно либо вместо id=86 зафигачить переменную с отобранными id, либо принципиально по другому действовать... Вообще из отобранных страниц мне необходимы три поля. (2 дополнительных и одно - заголовок страницы)
Кхм, а что за "get('procent');"?
Дополнительные поля и их значения вытягиваются через the_meta() или get_post_meta().
блин, ну я мож че не так написал. В общем procent - это name дополнительного поля.
Я попытался аналогично этому сделать
<?php echo get (procent, $group_index=1, $field_index=1,$post_id=86) ?> // тут выводит значение дополнительного поля procent для страницы с id 86
Я так понял, что код описанный Вами выше получает массив в котором все записи у которых заполнено поле procent.
Т.е если мы в цикле, то получается я могу написать get('procent'); и взять значение procent из текущей записи? или я не прав?
PS Сама консрукция get('procent'); работает! Я проверил. Добавил еще <?php the_title(); ?> и получил офигенно неожиданный результат!
Отбирается всего 3 страницы (вместо 5)! Причем совершенно левых! Я даже не вкурую по какому принципу.
Т.Е. ПО НЕПОНЯТНЫМ ПОКА ПРИЧИНАМ ЗАПРОС
<?php $query = new WP_Query('post_type=page&meta_key=procent'); ?>
НЕ ОТБИРАЕТ СТРАНИЦЫ С ЗАПОЛНЕННЫМ ДОПОЛНИТЕЛЬНЫМ ПОЛЕМ procent. ВМЕСТО ЭТОГО ОТБИРАЕТ ЛЕВАК.