#php #wordpress #url-rewriting
#php #wordpress #url-переписывание
Вопрос:
Я работаю над сайтом WordPress, и мне нужно реализовать функцию с несколькими языками (я не хочу использовать какой-либо плагин, просто чистое программирование). Я создал 2 папки (en / de) и поместил index.php в каждом из них. Проблема, с которой я сталкиваюсь сейчас, заключается в том, что я хочу показывать страницы на определенном языке. Пример: для en:
www.domain.com/en/example
Для de:
www.domain.com/de/beispiel
Где Beispiel = пример . Я выполнил правила перезаписи, необходимые для этого, используя add_rewrite_rule()
функцию, но как я могу получить страницу из базы данных, только если язык соответствует столбцу, в котором язык задан для каждого сообщения?
PS: Я добавил еще один столбец для таблицы страниц, чтобы указать, на каком языке они написаны.
Я намерен написать пользовательский запрос внутри index.php , который получит указанную страницу из таблицы с помощью pagename
и current language
. Как я могу это сделать?
ОБНОВЛЕНИЕ 1: я нашел решение, но я не знаю, рекомендуется ли оно. В моей теме index.php Я чнагед
global $post;
$i = 0;
while ( have_posts() amp;amp; $post->language == 'en') {
$i ;
if ( $i > 1 ) {
echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
}
the_post();
get_template_part( 'template-parts/content', get_post_type() );
}
Где $post->language
находится поле из таблицы mysql, в котором хранится язык.