Перенес в "Вопросы и ответы".
Пример регистрации нового типа записи к выводу в ЛК списком.
add_action('init','rcl_add_postlist_post_type'); function rcl_add_postlist_post_type(){ rcl_postlist('post_type','post_type','Имя типа записи',array('order'=>50)); }
taxonomy=music_artists&post_type=it_music так выглядит путь к типу записи в редакторе
добавил
add_action('init','rcl_add_postlist_post_type');
function rcl_add_postlist_post_type(){
rcl_postlist('post_type','post_type','it_music',array('order'=>50));
}
Стала отображаться вкладка, но пишет записей нет, хотя они есть и возможность добавить новую запись в эту категорию также непоявилась, только стандартные рубрики.
который создает новые типы записей и таксономию.
Да получилось(жутко ступил, ну ничего на ошибках учимся))! Спасибо Андрей!
А вот в публикации новой записи так и не отображает список категорий из этого пост тайпа почему-то. пробывал так [public-form cats="15,16"] просто пустое поле и все.
Наверно нужно добавить таксономии еще или... опять недогоняю...
Так же сейчас попытался добавить еще один тип,выдал ошибку function
//добавляем видосы
add_action('init','rcl_add_postlist_post_type');
function rcl_add_postlist_post_type(){
rcl_postlist('it_video','it_video','Видосы',array('order'=>50));
}
//добавляем музыку
add_action('init','rcl_add_postlist_post_type');
function rcl_add_postlist_post_type(){
rcl_postlist('it_music','it_music','Музыка',array('order'=>50));
}
Все решено также, все замечательно работает, вот только бы решить теперь проблему с новыми публикациями и отображением всех категорий из рубрик "музыки", "видео"(в идеале убрать стандартные рубрики и оставить только мои post types),
p.s. простите за надоедливость, еще бы убрать теперь простые записи которые видимо называются posts_posts
понимаю что каким-то таким образом нужно...
remove_action('тут не знаю что','rcl_posts_posts',20);
По идее они уже зарегистрированы функционалом самого шаблона, я только в админ панели создал категории для рубрик музыка и видео
и чтобы добавить новую запись в админке, я захожу не в записи, а в созданную шаблоном новую вкладку музыка и в ней уже создаю категории и записи
добавляем в форму публикации выбор таксономии для определенного типа записей:
add_filter('taxonomy_public_form_rcl','rcl_add_taxonomy_public_form'); function rcl_add_taxonomy_public_form($tax){ if (!isset($tax['post_type'])) $tax['post_type'] = 'taxonomy'; return $tax; }
вместо post_type - свой тип записи
вместо taxonomy - свою таксономию
прошу вновь извинений за назойливость и несообразительность, но все же хочу очень побороть этот недуг и вот вновь я добавил функцию
add_filter('taxonomy_public_form_rcl','rcl_add_taxonomy_public_form');
function rcl_add_taxonomy_public_form($tax){
if (!isset($tax['it_video'])) $tax['it_video'] = 'video-clipi';
return $tax;
}
и к моему великому сожалению категории не отобразились(
Otshelnik-Fm сказал(а)
Все что дает вам Андрей доступно тут
Вы не можете просматривать опубликованные ссылки
Ознакомился со статьей спасибо что ткнули носом... вновь мой косяк не пользовался поиском. Но все же всеми мучениями и стараниями моими ни в какую не поддаются мне эти таксономии, и не выводятся в новой публикации.
Очень прошу помощи уже пол дела сделано благодаря Вашей помощи!
разместите код в файле функций
remove_action('init','rcl_add_postlist_posts',10);
не уверен что сработает сработает в текущей версии плагина, в более поздних будет, поэтому можете пока открыть файл pluginswp-recalladd-onpublicpostindex.php и либо удалить строку
add_action('init','rcl_add_postlist_posts');
либо дописать ее так
add_action('init','rcl_add_postlist_posts',10);
и тогда код выше на удаление сработает.
Это опять я( Андрей плохо разбираюсь в функциях и их написании, но заметил, что в новой форме публикации записей не отображается выбор тэгов(меток)
add_filter('tags_public_form_rcl','rcl_add_tags_public_formraps');
function rcl_add_tag_public_tags($tag){
if (!isset($tag['it_rapnews'])) $tag['it_rapnews'] = 'rapnews_news';
return $tag;
}
создал костыль)) но конечно не верный, помогите с решением пожалуйста
также создал сейчас произвольные поля для всех типов записей
все работает, но в админке ошибки
Warning: Missing argument 1 for Rcl_EditFields::edit_form(), called in /www/wp-content/themes/steam/functions.php on line 78 and defined in /www/wp-content/plugins/wp-recall/functions/rcl_editfields.php on line 28
Warning: Invalid argument supplied for foreach() in /www/wp-content/plugins/wp-recall/functions/rcl_editfields.php on line 30
Warning: Invalid argument supplied for foreach() in /www/wp-content/plugins/wp-recall/functions/rcl_editfields.php on line 162
Warning: Invalid argument supplied for foreach() in /www/wp-content/plugins/wp-recall/functions/rcl_editfields.php on line 162
вот код для произвольных полей в кастом постс
//создаем поля для новостей
add_action('admin_menu', 'add_edit_page_custom_fields',30);
function add_edit_page_custom_fields(){
add_submenu_page( 'manage-wprecall', 'Произвольные поля новостей', 'Произвольные поля новостей', 'manage_options', 'manage-fields-my-post-type', 'page_fields_my_custom_type');
}
function page_fields_my_custom_type(){
//подключаем скрипт для сортировки созданных полей
rcl_sortable_scripts();
//подключаем нужный функционал
include_once RCL_PATH.'functions/rcl_editfields.php';
//указываем, что работать будем с произвольными полями для
//типа записи 'post_type'
$f_edit = new Rcl_EditFields('it_rapnews');
//код необходим для сохранения данных полей при редактировании
if($f_edit->verify()) $fields = $f_edit->update_fields();
$fields = 'Произвольные поля для новостей и мероприятий>';
$fields .= $f_edit->edit_form();
echo $fields;
}
я уже надоел наверно... еще проблема при добавлении новости добавил отправку поста на модерацию
//отправляем на модерацию видосы
add_filter('pre_update_postdata_rcl','edit_post_status_rcl');
function edit_post_status_rcl($post){
if($post['post_type']!='it_video') return $post;
$post['post_status'] = 'pending';
return $post;
}
в админку отправляется все норм, но пользователю выдается ошибка 404 почему то
по выводимым ошибкам пока укажите минимальные настройки для произвольных полей как указано в статье
$fields .= $f_edit->edit_form(array( $f_edit->option('select',array( 'name'=>'requared', 'notice'=>'обязательное поле', 'value'=>array('Нет','Да') )) ));
после этого ошибок быть не должно
404 ошибка при публикации отдается пользователям с правами ниже Автора, у всех пользователей сайта кому даете право публиковать на сайте должна быть роль Автор.
Да все понял спасибо, опять косячу.
А вот метки пока не смог вывести, можно даже чтобы они все отображались которые существуют, а не только в кастом пост.
пытался так тоже
add_filter('fields_public_form_rcl','edit_public_formtracks',10,2);
function edit_public_formtracks($fields,$data){
$fields = array(
'title'=>true, //поле заголовка
'termlist'=>true, //выпадающий список таксономии типа записи
'editor'=>true, //поле редактирования основного контента записи
'custom_fields'=>true, //список произвольных полей
'tags'=>true, //поле метки, только для типа post
'upload'=>true //возможность загрузки медиафайлов
);
return $fields;
}
ок, сделайте так, откройте файл /plugins/wp-recall/add-on/publicpost/rcl_publicform.php, примерно на строке 621 почти в самом низу замените строчку
if($formData->post_type!='post') return $fields;
на этот код
$tag_obj = get_taxonomy('post_tag');
if(!in_array($formData->post_type,$tag_obj->object_type)) return $fields;
если все будет нормально работать, то внесу это изменение в обновление плагина
Да все работает!! Очередной раз спасибо!
p.s. есть правда еще одна проблема, больше даже в шаблоне что-то происходит при включении рейтинга пользователей, не акцентировал т.к. неуверен в необходимости рейтинга, хотя щас начал задумываться что не плохо было бы...
Суть заключается в том, что при включении аддона рейтинга, перестает работать ajax parser внутри шаблона, вылетает ошибка parser error, когда хочу посмотреть следующую страничку с постами, при выключении аддона все нормально работает... эх... не плохо было бы тоже излечить это... 😳