• Доброго вечера, уважаемое сообщество.Я новичек в работе с wordpress и у меня при разработке возник следующий вопрос, как мне получить id страницы создания новой пользовательской записи . Прилагаю скрин данной страницы https://yadi.sk/i/FszbF8PboK64S. Заранее прошу прощения, если не корректно сформулировал вопрос.

Просмотр 14 ответов — с 16 по 29 (всего 29)
  • они заданы через плагин https://metabox.io/docs/, следующим образом https://yadi.sk/i/JrcACfnnoN8SB. Только что добавил недвижимость и уже получил одно значение, т.е. получаеться они будут прописываться в базе только после добавления. Нет ли возможности получить значения все ? И я получаю значения option, как можна вытянуть само название ?

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    И я получаю значения option, как можна вытянуть само название ?

    Согласно документации, можно задавать массив элементов в виде пар ‘value’ => ‘label’, т.е. можно сделать

    $options = array(
        'A' => 'A',
        'A+' => 'A+'
    )

    тогда, по идеи, будет сохранятся название. Такой вариант подойдет?

    Нет ли возможности получить значения все ?

    Не знаком с этой библиотекой и в документации не нашел такой функции, возможно, где-то в плагине есть такая функция для служебных нужд и её можно использовать для этого, но, увы, не подскажу.
    Но раз пункты Вы задали самостоятельно и вручную в файле конфигурации полей, то зачем их получать? Можно же просто вывести вручную, они же получается неизменны без Вашего ведома.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Текущую страницу в админке можно определить с помощью переменных $post_type и $pagenow.

    Или get_current_screen()->id.

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

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

    Подскажите где мне (в каом файле) правильно прописать get_current_screen()->id, чтобы определить id?

    Изначально просто хотел получить все значения поля с помощью данной функции get_post_meta(), а для нее необходим id.

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

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

    В документации указано, что конфигурация загружается только в админ-панели (It’s loaded only in the admin, so you will have good performance in the frontend.), поэтому, боюсь какой-то штатной возможности это сделать у https://metabox.io нет.

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Изначально просто хотел получить все значения поля с помощью данной функции get_post_meta(), а для нее необходим id.

    Сама страница добавления записи в админке не имеет какой-то meta-информации и post_id, она только лишь предоставляет интерфейс для добавления записей, т.е. после того как Вы добавили запись и выбрали какое-то значение произвольного поля — его можно будет получить с помощью функции get_post_meta, указав ID добавленной записи и имя произвольного поля, но она вернет только выбранное значение. Список всех значений произвольного поля в Вашем случае существует только в файле конфигурации этих полей и WordPress его нигде больше дополнительно не сохраняет.

    то есть чего-то подобного как wp_dropdown_categories() в wordpress для полей не реализовано?

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    то есть чего-то подобного как wp_dropdown_categories() в wordpress для полей не реализовано?

    Именно для полей в таком виде — нет, но Вы можете сделать, например, пользовательскую таксономию, а её элементы вывести в виде списка в значения этого поля, насколько я вижу тип taxonomy есть в https://metabox.io.
    А затем на frontend сможете получить все элементы таксономии, для этого служит функция get_terms.
    Работает примерно так:

    $terms = get_terms("my_taxonomy");
     $count = count($terms);
     if($count > 0){
    	 echo "<ul>";
    	 foreach ($terms as $term) {
    	   echo "<li>".$term->name."</li>";
    
    	 }
    	 echo "</ul>";
     }

    Видимо придется сделать вот так

    просто вывести вручную, они же получается неизменны без Вашего ведома.

    , так как мне нужно добавлять доп поле а не таксономию. Благодарю за помощь, очень признателен вам за ответы. Считаем, что с этим вопросом я разобрался. Задача решена.

    Почерпнул немало полезной информации.

    Решено

Просмотр 14 ответов — с 16 по 29 (всего 29)
  • Тема «как определить id страницысоздания новой пользователь» закрыта для новых ответов.