как получить настройки WordPress Media - PullRequest
0 голосов
/ 21 июня 2011

Я хотел вытащить настройки, найденные для настроек мультимедиа (уменьшенные, средние и большие заявленные размеры) в мой шаблон.Как мне это сделать, я не могу найти в Wordpress API, или, возможно, я не очень хорошо поискал.

Спасибо

1 Ответ

0 голосов
/ 18 мая 2012

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

Размеры изображения

Для настроек размера изображения вы сможете получить их из таблицы параметров. Размеры по умолчанию: «средний», «миниатюра», «большой» и «после миниатюры». Имейте в виду, что обрезка существует только для миниатюр и это флажок.

Чтобы получить размеры, сделайте следующее:

$thumbnail_size = array (
    'width' = get_option('thumbnail_size_w'),
    'height'= get_option('thumbnail_size_h'),
    'crop' = get_option('thumbnail_crop')
);
$medium_size = array (
    'width' = get_option('medium_size_w'),
    'height'= get_option('medium_size_h')
);
$large_size = array (
    'width' = get_option('large_size_w'),
    'height'= get_option('large_size_h')
);

Встраивание

Имейте в виду, что auto означает, использовать или нет oEmbed для автоматической вставки мультимедиа, когда люди вставляют URL-адрес.

$embeds = array(
    'auto' => get_option('embed_autourls'),
    'width'=> get_option('embed_size_w'),
    'height' => get_option('embed_size_h')
);

Загрузка файлов

Путь загрузки относится к ABSPATH (то есть, он не может быть вне корневого каталога WordPress - также есть постоянная UPLOADS, которая может изменить этот параметр. Имейте в виду, что параметр Year / Month еще один флажок.

$upload_path = array(
    'path' => get_option('upload_path'),
    'url_path' => get_option('upload_url_path'),
    'yearmonth_folders' => get_option('uploads_use_yearmonth_folders')
);

Если мы хотим объединить это в одну большую функцию для простоты использования ...

/**
 * Returns settings from the Media Settings page.
 *
 * @author Eddie Moya
 * @param string $option (Optional) The key for the particular set of options wanted.
 *
 * @return array Returns a set of specific options if $options is set, otherwise returns all optons.
 */
function get_media_settings($option = null){

    $thumbnail_size = array (
        'width' = get_option('thumbnail_size_w'),
        'height'= get_option('thumbnail_size_h'),
        'crop' = get_option('thumbnail_crop')
    );
    $medium_size = array (
        'width' = get_option('medium_size_w'),
        'height'= get_option('medium_size_h')
    );
    $large_size = array (
        'width' = get_option('large_size_w'),
        'height'= get_option('large_size_h')
    );

    $embeds = array(
        'auto' => get_option('embed_autourls'),
        'width'=> get_option('embed_size_w'),
        'height' => get_option('embed_size_h')
    );

    $upload_path = array(
        'path' => get_option('upload_path'),
        'url_path' => get_option('upload_url_path'),
        'yearmonth_folders' => get_option('uploads_use_yearmonth_folders')
    );


    $settings = array(
        'thumbnail_size' => $thumbnail_size,
        'medium_size' => $medium_size,
        'large_size' => $large_size,
        'embed_size' => $embeds,
        'upload_path' => $upload_path
    );

    if(!empty($option)){
        return $settings[$option];
    else
        return $settings;
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...