Описание
Получает значение указанной настройки (опции).
Функция получает данные из кэша, если это возможно, если нет, то данные берутся из Базы Данных.
Функция возвращает значение опции или false, если указанной опции не существует или не удастся получить её значение
Использование
<?php echo get_option( $name, $default ); ?>
Параметры
- $name (строка) (обязательный)
- Название опции, значение которой нужно получить.
По умолчанию: нет - $default (строка/число/логический)
- Значение по умолчанию, которое нужно вернуть, если не удалось получить опцию (если опции в БД не существует).
По умолчанию: false
Примеры
1. Выведем название блога в теге H1:
<h1><?php echo get_option('blogname'); ?></h1>
2. Выведем кодировку блога:
<p>Текущая кодировка: <?php echo get_option('blog_charset'); ?> </p>
3. Получим email администратора сайта в переменную $admin_email:
<?php $admin_email = get_option('admin_email'); ?>
get_option()
из файла: /wp-includes/functions.php WP 3.3.2function get_option( $option, $default = false ) {
global $wpdb;
// Allow plugins to short-circuit options.
$pre = apply_filters( 'pre_option_' . $option, false );
if ( false !== $pre )
return $pre;
$option = trim($option);
if ( empty($option) )
return false;
if ( defined( 'WP_SETUP_CONFIG' ) )
return false;
if ( ! defined( 'WP_INSTALLING' ) ) {
// prevent non-existent options from triggering multiple queries
$notoptions = wp_cache_get( 'notoptions', 'options' );
if ( isset( $notoptions[$option] ) )
return $default;
$alloptions = wp_load_alloptions();
if ( isset( $alloptions[$option] ) ) {
$value = $alloptions[$option];
} else {
$value = wp_cache_get( $option, 'options' );
if ( false === $value ) {
$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) );
// Has to be get_row instead of get_var because of funkiness with 0, false, null values
if ( is_object( $row ) ) {
$value = $row->option_value;
wp_cache_add( $option, $value, 'options' );
} else { // option does not exist, so we must cache its non-existence
$notoptions[$option] = true;
wp_cache_set( 'notoptions', $notoptions, 'options' );
return $default;
}
}
}
} else {
$suppress = $wpdb->suppress_errors();
$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) );
$wpdb->suppress_errors( $suppress );
if ( is_object( $row ) )
$value = $row->option_value;
else
return $default;
}
// If home is not set use siteurl.
if ( 'home' == $option && '' == $value )
return get_option( 'siteurl' );
if ( in_array( $option, array('siteurl', 'home', 'category_base', 'tag_base') ) )
$value = untrailingslashit( $value );
return apply_filters( 'option_' . $option, maybe_unserialize( $value ) );
}Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
Хочу еще раз напомнить всем, кто еще не слышал или просто пока не решился воспользоваться услугами SEO сервиса rookee.ru. Если вы все еще озабочены вопросом: как продвинуть свой сайт, то пожалуй самое время попробовать rookee, ведь система возьмет большую часть работы на себя.
Kama приветствую
мультисайт wordpress
Подскажи пожалуйста, какая функция выводит наименование сайта/подсайта – те сам суффикс (site1)
Например, есть multisite.ru/site1
Нужно вытянуть site1
Пробовал:
– выводит multisite.ru/site1
– ...
name="blog[path] – ...
В результате я хотел использовать данную функцию в header.php – где для каждого подсайта (site1) в шапке выгружалась картинка (site1.jpg) из папки upload – те картинка с аналогичным названием подсайта
вывод картики думаю как то так:
src="/wp-content/upload/.jpg"
Пробовал:
<?php echo get_option('home'); ?> – выводит multisite.ru/site1 <?php echo esc_attr( $id ) ?> – ... name="blog[path] – ...вывод картики думаю как то так:
src="/wp-content/upload/<?php echo get_option('home'); ?>.jpg"С мультисайтами не сталкивался никогда, поэтому не знаю.
ну а если даже не мультисайт, какой функцией вытянуть из http://wp-kama.ru только wp-kama.
Можно регуляркой:
$url = 'multisite.ru/asd/site1'; $site = preg_replace('@.*/(.*?)@', '\\1', $url); echo $site; // выведет site1Kama - спасибо огромное!!
<?php $url = get_option('home'); $site = preg_replace('@.*/(.*?)@', '\\1', $url); echo $site; ?>