主题面板中的 Wordpress 徽标上传选项
Wordpress logo upload option in theme panel
大家好,我在 wordpress 的主题面板中添加徽标选项时遇到了一个问题,我正在使用此代码
function logo_display()
{
?>
<input type="file" name="logo" />
<?php echo get_option('logo'); ?>
<?php
}
function handle_logo_upload()
{
if(!empty($_FILES["demo-file"]["tmp_name"]))
{
$urls = wp_handle_upload($_FILES["logo"], array('test_form' => FALSE));
$temp = $urls["url"];
return $temp;
}
return $option;
}
function display_theme_panel_fields()
{
add_settings_section("section", "All Settings", null, "theme-options");
add_settings_field("logo", "Logo", "logo_display", "theme-options", "section");
register_setting("section", "logo", "handle_logo_upload");
}
add_action("admin_init", "display_theme_panel_fields");
问题是它没有保存徽标,也没有在管理员中显示它。
我已经用不同的方法尝试了 10 次,但这段代码不起作用。请查看此代码并尝试一下。
你应该试试这个。希望这对你有帮助。
您忘记在“handle_logo_upload”函数中添加其他条件。试试下面的代码:
function logo_display()
{
?>
<input type="hidden" name="ologo" value="<?php echo get_option('logo'); ?>" readonly /><input type="file" name="logo" id="imgupload" style="display: none;" />
<a id="OpenImgUpload" class="button button-primary">Image Upload</a>
<?php echo get_option('logo'); ?>
<?php
}
function handle_logo_upload()
{
if(isset($_FILES["logo"]) && !empty($_FILES['logo']['name']))
{
$urls = wp_handle_upload($_FILES["logo"], array('test_form' => FALSE));
$temp = $urls["url"];
return $temp;
}
elseif(isset($_FILES["logo"]) && empty($_FILES['logo']['name'])){
$urls = $_POST["ologo"];
return $urls;
}
return $option;
}
function display_theme_panel_fields()
{
add_settings_section("section", "All Settings", null, "theme-options");
add_settings_field("logo", "Logo", "logo_display", "theme-options", "section");
register_setting("section", "logo", "handle_logo_upload");
}
add_action("admin_init", "display_theme_panel_fields");
大家好,我在 wordpress 的主题面板中添加徽标选项时遇到了一个问题,我正在使用此代码
function logo_display()
{
?>
<input type="file" name="logo" />
<?php echo get_option('logo'); ?>
<?php
}
function handle_logo_upload()
{
if(!empty($_FILES["demo-file"]["tmp_name"]))
{
$urls = wp_handle_upload($_FILES["logo"], array('test_form' => FALSE));
$temp = $urls["url"];
return $temp;
}
return $option;
}
function display_theme_panel_fields()
{
add_settings_section("section", "All Settings", null, "theme-options");
add_settings_field("logo", "Logo", "logo_display", "theme-options", "section");
register_setting("section", "logo", "handle_logo_upload");
}
add_action("admin_init", "display_theme_panel_fields");
问题是它没有保存徽标,也没有在管理员中显示它。 我已经用不同的方法尝试了 10 次,但这段代码不起作用。请查看此代码并尝试一下。
你应该试试这个。希望这对你有帮助。
您忘记在“handle_logo_upload”函数中添加其他条件。试试下面的代码:
function logo_display()
{
?>
<input type="hidden" name="ologo" value="<?php echo get_option('logo'); ?>" readonly /><input type="file" name="logo" id="imgupload" style="display: none;" />
<a id="OpenImgUpload" class="button button-primary">Image Upload</a>
<?php echo get_option('logo'); ?>
<?php
}
function handle_logo_upload()
{
if(isset($_FILES["logo"]) && !empty($_FILES['logo']['name']))
{
$urls = wp_handle_upload($_FILES["logo"], array('test_form' => FALSE));
$temp = $urls["url"];
return $temp;
}
elseif(isset($_FILES["logo"]) && empty($_FILES['logo']['name'])){
$urls = $_POST["ologo"];
return $urls;
}
return $option;
}
function display_theme_panel_fields()
{
add_settings_section("section", "All Settings", null, "theme-options");
add_settings_field("logo", "Logo", "logo_display", "theme-options", "section");
register_setting("section", "logo", "handle_logo_upload");
}
add_action("admin_init", "display_theme_panel_fields");