Подскажите пожалуйста что можно предпринять в данном случае. Хочу что б записи добавлял без заголовка. Странно конечно, но такой у меня проект. Но ща попробовал, он недобавляется без заголовка. Как можно сделать что б он добавлял без заголовка и что б поисковики не ругались? То есть запись как нибудь формировалась примерно, 1,2,3,4 и т.д.
Preci сказал(а)
В настройках формы публикации можно убрать заголовок. Но вообще это плохая идея
у меня если убрать, то не добавляется, точнее он типа добавляет, но не опубликовывает его. может потому что соержимого тоже нет?
Почему плохая? Можете дадите мне совет как можно еще проблему решить?
Otshelnik-Fm сказал(а)
Как вариант посмотреть как это реализовано в дополнении Заметки. Там правда заголовок то есть. Но юзер его не вводит
У меня пока заметки не реализованы под это. У меня пока шаблон сайта только реализован. И сначала хочу убрать заголовок как то, и потом так же и вывести заметки в личном кабинете.
Вот скрин. Как это выглядет на сайте. Там где "Я дома" хотел бы убрать грамотно.
Может с вашими знаниями найдется совет как можно убрать его грамотно?
Так а стилями скрыть заголовок где посты выводятся нельзя?
Вот пример код из заметок переделанный под записи типа post
add_filter('rcl_public_form_options','htg21_post_publicform_options',10,2); function htg21_post_publicform_options($options,$data){ if($data->post_type!='post') return $options; $options['draft'] = false; return $options; } add_filter('rcl_default_public_form_fields','htg21_post_remove_publicform_fields',10,2); function htg21_post_remove_publicform_fields($fields, $post_type){ if($post_type != 'post') return $fields; $remove = array( 'post_title', 'post_excerpt', 'post_uploader' ); foreach($fields as $k => $field){ if(in_array($field['slug'], $remove)){ unset($fields[$k]); } } return $fields; } add_filter('pre_update_postdata_rcl','add_htg21_post_title'); function add_htg21_post_title($post){ if($post['post_type']!='post') return $post; if (!$post['post_title']) $post['post_title'] = 'Запись'; $post['post_status'] = 'publish'; // статус опубликован return $post; }
Preci сказал(а)
Я под спойлером привел код, который можно вставить в functions.php темы и если в записи типа post не был указан заголовок, то заголовок добавится автоматически "Запись" и все, тогда его можно не указывать при публикации с фронтэнда
круто работает все))) огромнейшее спасибо.
ты итак хорошо помог, но все же может еще один вопрос тебя не затруднит) вижу записи создают с именем который ты написал "Запись" + можно как то сюда добавить вот это %post_id%
Например что бы так опубликовывался запись %post_id% - и ид записи
Нет ID поста не подставить, т.к. мы меняем title перед тем как пост запишется в базу, а значит его ID еще неизвестен.
Вот код можно уменьшить
add_filter('rcl_default_public_form_fields','htg21_post_remove_publicform_fields',10,2); function htg21_post_remove_publicform_fields($fields, $post_type){ if($post_type != 'post') return $fields; $remove = array( 'post_title' ); foreach($fields as $k => $field){ if(in_array($field['slug'], $remove)){ unset($fields[$k]); } } return $fields; } add_filter('pre_update_postdata_rcl','add_htg21_post_title'); function add_htg21_post_title($post){ if($post['post_type']!='post') return $post; if (!$post['post_title']) $post['post_title'] = $post['post_id']; $post['post_status'] = 'publish'; // статус опубликован return $post; }
Preci сказал(а)
Нет ID поста не подставить, т.к. мы меняем title перед тем как пост запишется в базу, а значит его ID еще неизвестен.Вот код можно уменьшить
Спойлер
add_filter('rcl_default_public_form_fields','htg21_post_remove_publicform_fields',10,2); function htg21_post_remove_publicform_fields($fields, $post_type){ if($post_type != 'post') return $fields; $remove = array( 'post_title' ); foreach($fields as $k => $field){ if(in_array($field['slug'], $remove)){ unset($fields[$k]); } } return $fields; } add_filter('pre_update_postdata_rcl','add_htg21_post_title'); function add_htg21_post_title($post){ if($post['post_type']!='post') return $post; if (!$post['post_title']) $post['post_title'] = $post['post_id']; $post['post_status'] = 'publish'; // статус опубликован return $post; }
этот код не работает почему то у меня, не опубликовывает вообще запись, но предыдущий хорошо работает.
а если ид записи нельзя, может какой нибудь счетчик можно, к примеру как по умолчанию записи 1,2,3,4,5, например как просмотры есть, это так же, ну только не просмотры, а добавления записи 1,2,3,4
если что за деньги готов))
Preci сказал(а)
Ну вы бы лучше написали для чего вам это надо, может есть какой-то другой вариант решения
это будет как инстаграм. на сайте будут только фотки и больше ничего. всмысле одна запись это одна фотка. человек что бы так же зашел добавил фотку и все. и что бы эта запись (то есть фотка) была без заголовка. к примеру добавил фотку. и сразу название что б не было пвотора. фотка 1, 2 фотку добавляешь = фотка 2 (что б повтора не было)
add_filter('pre_update_postdata_rcl','add_htg21_post_title'); function add_htg21_post_title($post){ if($post['post_type']!='post') return $post; if (!$post['post_title']) { $user_data = get_userdata($post['post_author']); $title = 'Фото пользователя '.$user_data->display_name.' добавлено '.date("d.m.Y в H:m:s", strtotime(current_time('mysql'))); $post['post_title'] = $title; } $post['post_status'] = 'publish'; // статус опубликован return $post; }
Если предыдущую функцию заменить на это, то заголовок будет генерироваться таким:
"Фото пользователя Preci добавлено 08.05.2018 в 19:05:03"
Preci сказал(а)
add_filter('pre_update_postdata_rcl','add_htg21_post_title'); function add_htg21_post_title($post){ if($post['post_type']!='post') return $post; if (!$post['post_title']) { $user_data = get_userdata($post['post_author']); $title = 'Фото пользователя '.$user_data->display_name.' добавлено '.date("d.m.Y в H:m:s", strtotime(current_time('mysql'))); $post['post_title'] = $title; } $post['post_status'] = 'publish'; // статус опубликован return $post; }Если предыдущую функцию заменить на это, то заголовок будет генерироваться таким:
"Фото пользователя Preci добавлено 08.05.2018 в 19:05:03"
Круто!!! СПАСИБО БОЛЬШОЕ!!!