Получение языка блога (поле "идентификатор языка сайта" по сравнению с настройкой WPLANG)


Есть таблица wp_blogs, которая очень полезна, когда вы хотите получить список блогов (и это то, что мне нужно сделать).

Проблема в том, что я, похоже, не могу получить язык блога из поля lang_id в этой таблице. Это просто не соответствует параметру WPLANG, который установлен в таблице параметров каждого блога.

Да, я мог бы переключиться на каждый блог и сделать get_bloginfo('language'), но это довольно дорого, когда у вас большое количество блогов.

Так в чем же дело это поле lang_id? Для чего это нужно?

Author: kaiser, 2011-07-31

1 answers

Я не знаю, для чего нужен параметр lang_id. AFAIK это не входит в основные параметры WordPress.

Если вы хотите проверить язык всех блогов, вы можете проверить собственную таблицу параметров блога для WPLANG или использовать опцию WPLANG сети (или не использовать нужный вам язык) аналогично собственной функции get_locale() WordPress.

Я бы рекомендовал ознакомиться с исходным кодом WordPress. Вы увидите, что функция get_bloginfo() в основном является оболочкой для получения параметры или вызов других функций для извлечения запрошенных данных. В случае параметра "язык" он вызывает функцию get_locale(), которая находится в wp-includes/l10n.php

См.: http://phpxref.ftwr.co.uk/wordpress/nav.html?_functions/index.html

Глядя на функцию get_locale(), она показывает, что для получения локали/языка сайта в многоузловой настройке WordPress необходимо:

  1. Проверьте, был ли установлен языковой стандарт, и верните это после применения фильтра "языковой стандарт"

  2. Если переменная локали не была установлена, она проверит опцию WPLANG в настройках WordPress по умолчанию (для каждого сайта).

  3. Если собственный параметр WPLANG сайта пуст или не существует, он проверит параметры сети для параметра WPLANG.

  4. Если все не удается, предположим, что языковой стандарт en_US

 3
Author: BjornW, 2011-08-23 10:43:28