• Есть строка

    if (is_admin() && $pagenow=='edit.php' && $typenow=='video' && isset($_GET['ADMIN_FILTER_FIELD_NAME']) && $_GET['ADMIN_FILTER_FIELD_NAME'] != '') {

    Меня интересует $_GET['ADMIN_FILTER_FIELD_NAME'] меняю например на
    $_GET['ADMIN_FILTER'] и не работает, я так понимаю в вп где-то есть функция которая отвечает за фильтр по произвольным полям, по этому эту строку не поменять? Или как например сменить урл
    /wp-admin/edit.php?s&post_status=all&post_type=video&action=-1&m=0&ADMIN_FILTER_FIELD_NAME=host&ADMIN_FILTER_FIELD_VALUE=vimeo&paged=1&mode=list&action2=-1
    на то, что меньше так сказать))

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Если вопрос относится к фрагменту, предложенному на WordPress Answers, то менять имя параметра нужно не только в $_GET, но и в теге <select>.

    хм))вроде менял и там и не работало, сейчас еще раз сменил, все ок)спасибо

    кст я хоть и сделал по другому, но все же интересно…

    $sql = ‘SELECT DISTINCT meta_key FROM ‘.$wpdb->postmeta.’ ORDER BY 1′;

    Как построить скюл запрос, что бы если мета кей было к примеру равно 5, то тогда вытащить все значения именно этого мета ключа

    $sql = 'SELECT DISTINCT meta_key FROM '.$wpdb->postmeta.' WHERE meta_key = 5 ORDER BY 1';

    Думаю, как-то так…

    хм) но тут же ни слова об мета_валуе…а я хочу получить именно его у определенного мета_кей

    Согласен, тупонул

    SELECT DISTINCT meta_key, meta_value FROM wp_postmeta WHERE meta_key = 'some_key' ORDER BY 1

    Так — работает. Только префиксы свои проставьте к таблице

    окей) на будущее буду знать)
    просто в данном случае у меня всего 2 значения и что бы лишниый раз в бд не лезть прописал руками

    <select name=»filter_value»>
    <option value=»»>Параметры своего фильтра</option>
    <?php $current_v = isset($_GET[‘filter_value’])? $_GET[‘filter_value’]:»; ?>
    <option value=»youtube» <?php if($current_v==’youtube’){echo ‘selected=»selected»‘;}?>>YouTube</option>
    <option value=»vimeo» <?php if($current_v==’vimeo’){echo ‘selected=»selected»‘;}?>>Vimeo</option>
    </select>

    Кст, а вообще такие запросы как вы дали бд нагружают или не особо?

    просто в данном случае у меня всего 2 значения

    Если вы не бросаете проект, то логичней говорить «пока что 2 значения» 🙂

    Кст, а вообще такие запросы как вы дали бд нагружают или не особо?

    Посмотрев в свою БД понял, что DISTINCT там не нужен, так как на 1 мета_кей идет 1 мета_валюе. Если запрос не в цикле и посещение у вас не 100 000 человек/сутки — то ничего он не нагружает.

    Это у вас в админке такое, или в юзерской части?

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

    Вот этот код именно с моего проекта, фильтрирую видео (утуб или вимео).

    Фильтр в админке или для пользователей?

    админка

    тогда вообще не критична нагрузка — вы в одиночку не сможете так задолбать ни один сервер, чтоб он затупил от запросов 🙂

    Тогда думаю, если будет куча мета_валуе так и сделаю)
    кст не подскажите…вот add_filter и add_action стоит вызывать после объявления функция или после? просто встречал по разному, сам пишу ниже уже объявленной функции

    Думаю — не критично. В кодексе об этом ничего не сказано.

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Тема «$_GET» закрыта для новых ответов.