Я пытаюсь включить заголовок сообщения в экран редактирования пользовательского типа сообщения. Например, если сообщение называется «Биография», я хочу, чтобы заголовок страницы редактирования был «Редактировать биографию». Я использую следующий код:
function my_post_register() {
$mypagetitle = $post->post_title;
$labels = array(
'edit_item' => __('Edit '.$mypagetitle),
Почему не отображается заголовок поста?
Когда вы вызываете эту функцию? Я могу предположить, что здесь есть проблема со временем — разве вы не должны были уже зарегистрировать свой тип сообщения, прежде чем запрашивать сообщение?
Да, я вызываю это перед регистрацией типа сообщения. Итак, я думаю, мне нужен способ изменить метки после того, как тип сообщения был создан?
Я бы так догадался. Посмотрите на место на странице PHP, где отображается заголовок, и двигайтесь в обратном направлении, чтобы найти лучшее место для редактирования заголовка и других меток, например, с помощью фильтра.
Я обнаружил, что в post.php есть такой фрагмент кода: $title = $post_type_object->labels->edit_item; но я понятия не имею, как это фильтровать!
Я точно не помню, как это было во время вопроса, но сейчас это определенно поведение по умолчанию.
Спасибо — я пробовал это, но я думаю, что это скорее проблема времени, как предлагает Ян выше.
Это сделает это:
две вещи, которые я бы предложил. Сначала попробуйте добавить глобальную $post в качестве первой строки в вашей функции.
Также в местах, где у меня были проблемы с получением post_title, я нашел другую функцию
Вы можете попробовать это — подробнее: http://codex.wordpress.org/Function_Reference/single_post_title