Получите заголовок исходной страницы на языке по умолчанию и добавьте его в качестве основного текста на переведенную страницу в WordPress с WPML

Вот моя проблема:

add_filter( 'body_class', 'wpml_body_class');
function wpml_body_class( $class ) {
    global $sitepress, $post;

    if( $sitepress->get_default_language() != ICL_LANGUAGE_CODE ) {
        $original_id = icl_object_id( $post->ID, get_post_type(), true, $sitepress->get_default_language() );
        $class[] = strtolower(get_the_title( $original_id ));
    }

    return $class;
}

Этот код работает нормально. По сути, я использую $sitepress как глобальный, чтобы получить язык по умолчанию, а затем извлекаю идентификатор, чтобы сопоставить его с get_the_title, поэтому в конце дня я добавил заголовок в качестве имени класса в тело, чтобы я мог легко скопировать стиль исходной страницы, не добавляя строки в мой файл таблицы стилей CSS на переведенной странице, в данном случае на французском языке.

Пока все хорошо, за исключением оговорки

Так как это заголовок, если у меня есть заголовок, такой как Наша команда, я должен добавить штрих к стилю, и он будет меняться в зависимости от того, сколько слов у меня есть. Если вместо этого мне придется использовать URL-адрес, процесс его извлечения с помощью WordPress будет более сложным, поэтому мне было интересно, можно ли добавить регулярное выражение для добавления тире, если у меня есть свободное место. Или, если все остальные знают, как извлечь URL вместо get_the_title, я бы не был более благодарен.

1 ответ

Решение

Что тебе нужно sanitize_title_with_dashes() для вашей цели:), который предоставляется WP . Ссылка https://codex.wordpress.org/Function_Reference/sanitize_title_with_dashes

Другие вопросы по тегам