如何获得媒体设置wordpress

时间:2011-06-21 09:06:58

标签: wordpress api templates

我想将媒体设置(缩略图,中型和大型声明尺寸)的设置拉到我的模板中。我怎么做,我似乎无法在Wordpress API上找到,或者我搜索得不好。

谢谢

1 个答案:

答案 0 :(得分:0)

似乎没有一组特殊的函数可以检索这些函数,但它们保存在选项表中,因此只需稍加努力就可以检索所有这些值。

图片尺寸

对于图像尺寸设置,您应该能够从选项表中获取这些设置。默认大小为“中等”,“缩略图”,“大”和“后缩略图”。请注意,裁剪仅适用于缩略图,而且它是一个复选框。

要获取尺寸,请执行以下操作:

$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')
);

<强>内嵌

请注意,当人们粘贴网址时,自动引用是否使用oEmbed自动嵌入媒体。

$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;
}

您当然可以自由或组织所有数据,这只是一个例子。你显然也可以直接获得你想要的选项,虽然记住他们所有的名字可能很烦人。