Домой Wp-Recall WP-Recall: Проблемы и решения Пользовательская таксономия
6ответ(ов) в теме
Владимир Алексеев
не в сети 10 лет
На сайте с 08.02.2015
Участник
1
15:51

Здравствуйте, столкнулся с проблемой. На сайте сделал пользовательскую таксономию "город", через админку при добавления поста можно выбрать "город". А как можно добавить её в Public Wp-Recall? Чтобы пользователи обязательно могли выбрать город публикации?

0
Владимир Алексеев
не в сети 10 лет
На сайте с 08.02.2015
Участник
2
10:09

Неужели никто с этим не сталкивался?

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16929
3
10:45

Вывести и назначать для публикации несколько таксономий можно.
В статье

Вы не можете просматривать опубликованные ссылки

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

0
Владимир Алексеев
не в сети 10 лет
На сайте с 08.02.2015
Участник
4
12:14

Спасибо Андрей за статью, но у меня ничего не получилось Confused

Давайте по порядку, я создал новую таксономию и зарегистрировал в functions.php темы wordpress:

add_action( 'init', 'build_taxonomies', 0 ); 
function build_taxonomies() {  
    // code will go here  
register_taxonomy( 'gorod', 
'post', 
array( 'hierarchical' => true, 
'label' => 'Город', 
'query_var' => true, 'rewrite' => true ) );   
} 

далее как я понимаю нужно редактировать rcl_publicform.php
и у меня ничего не получается...
Андрей можете подсказать что и куда вставлять? Очень признателен, спасибо.

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16929
5
12:22

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

0
Владимир Алексеев
не в сети 10 лет
На сайте с 08.02.2015
Участник
6
16:51

С точки сдвинулся, нужно было указать [ public-form post_type='custom-type' ]

В функции вставил код

add_filter('public_form_rcl','add_custom_field_publicform',10,2);
function add_custom_field_publicform($fls,$data){
        //делаем проверку на тип записи
        if($data->post_type!='custom-type') return $fls;
 
        $fls .= '<label>Имя поля <span class="required">*</span>:</label> 
       <input type="text" required name="name-field" id="name-field" value="">';
         
        return $fls;                    
    }

и

add_action('update_post_rcl','save_fielddata_publicform',10,2);
function save_fielddata_publicform($post_ID, $postdata){
    global $wpdb;
    if($postdata['post_type']!='custom-type') return false;
     
    if(isset($_POST['name-field'])) $field = $_POST['name-field'];
    else $field = 0;
     
    update_post_meta($post_ID,'name-field',$field);
}

но при публикации записи пишет: Ошибка публикации!
и самое главное как сделать таксономию 'gorod' ???

0
Тема закрыта. Публикация новых сообщений запрещена.