WordPress как на ладони

Как изменить the_title

Плагин после перехвата хука парсит заголовок, вытаскивает из него нужные значения и присваивает как надо, но изменить сам заголовок отказывается. При редактировании нажимаю "обновить" и всё заполнено, контрольные тексты появляются
Не работает только

update_post_meta($post_ID, 'post_title', $title, '')

ЧТО С НЕЙ НЕ ТАК?

// Разбираем заголовок на параметры заявки
add_action( 'post_submitbox_start', 'submit_11' );
function get_next($x)
{   
	Global $ttt;    
	$ttt = ltrim(str_replace($x,'',$ttt));
	return substr($ttt, 0, stripos($ttt, "\t"));
}
function submit_11() {
if ( strlen(get_the_title($post_ID)) < 20 ) {return;} else
{   Global $post_ID, $ttt;
	$ttt = trim (get_the_title($post_ID));
	$ttt = str_replace("\t\t","\t",$ttt);
	$ttt = str_replace('_','',$ttt);
	$iii = substr($ttt, 0, stripos($ttt, "\t"));
//      echo "ID таблицы = $iii  <br>";
	$mn = get_next($iii);
//      echo "Модель = $mn <br>";
	$soun = get_next($mn);  
//      echo "СОУН = $soun <br>";
	$ii = get_next($soun);
//      echo "Тип_скил = $ii <br>"; 
	$wt = get_next($ii);
//      echo "<font color=blue><strong>$wt</strong></font><br>";
	$W_Service_N = get_next($wt);
//      echo "Сервисный №=<strong>$W_Service_N</strong> <br>";
	$W_fns = trim (str_replace ($W_Service_N,'', $ttt));
//      echo "Инвентарн.№= $W_fns<br>";
//------------------------------------------------ Сборка заголовка
	$title = $soun;
	$title.= ' ';
	$title.= $ii;
	$title.= '-';
	$title.= $iii;
//------------------------------------------------ Учётное имя
	$wt.= ' ';
	$wt.= $mn;
//------------------------------------------------ Текст перед кнопкой "обновить"
echo sprintf('<strong>    <font color=red>  %1$s</font><br>
			<font color=blue> %2$s</font><br>
	</strong>', $title, $mn);
	update_post_meta($post_ID, 'post_title', $title, '');
	update_post_meta($post_ID, 'W_type', str_replace('_',' ',$wt), '');
	update_post_meta($post_ID, 'W_Service_N', $W_Service_N, '');
	update_post_meta($post_ID, 'W_fns', $W_fns, '');
	update_post_meta($post_ID, 'W_notes', 'Замечаний со стороны Заказчика нет', '');
	if (has_tag($post_ID)) {} else {wp_set_post_terms( $post_ID, $soun);}
0
dementys
5.8 лет назад
  • 0
    kolshix779 paxtoy.com

    За обновление заголовков, по-моему отвечает другая функция

    попробуй с wp_update_post(); поработать может получится (лично сам я не пробовал)

    $updated_post = array(
    	  'ID'            =>      $post_ID,
    	  'post_title'    =>      $title,
      //  'post_status'   =>      'publish', // Now it's public
      //  'post_type'     =>      'my_custom_type'
    );
    wp_update_post($updated_post);
    
    dementys 5.8 лет назад

    Спасибо, работает smile

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация