【问题标题】:media-uploader insert into post is not inserting into text field媒体上传器插入帖子未插入文本字段
【发布时间】:2014-10-09 16:49:08
【问题描述】:

我已经为自定义徽标创建了一个插件,它工作正常,但是当我尝试将此功能添加到我现有的主题选项中时它不起作用。

我有这个js代码。

jQuery(document).ready(function() {
jQuery('#upload_logo_button').click(function() {
formfield = jQuery('#eo_theme_options[logo]').attr('name');
tb_show('', 'media-upload.php?type=image&TB_iframe=true');
return false;
});
window.send_to_editor = function(html) {
    imgurl = jQuery('img',html).attr('src');
    jQuery('#eo_theme_options[logo]').val(imgurl);
    tb_remove(); 
}
});

这是html结构,

<div class="grid col-620 fit">
<input id="eo_theme_options[logo]" class="regular-text" type="text" name="eo_theme_options[logo]" value="" placeholder="Custom Theme Logo"> <input id="upload_logo_button" type="button" value="Upload Image" class="button-secondary">
<label class="description" for="eo_theme_options[logo]">Enter your logo URL here.</label></div>

这是生成html的php代码,

protected function text( $args ) {

    extract( $args );

    $value = ( !empty( $this->eo_options[$id] ) ) ? ( $this->eo_options[$id] ) : '';
    $upload = (!empty($options)) ? '<input id="upload_logo_button" type="button" value="'.esc_attr($options).'"  class="button-secondary"/>' : '';

    $html = '<input id="' . esc_attr( 'eo_theme_options[' . $id . ']' ) . '" class="regular-text" type="text" name="' . esc_attr( 'eo_theme_options[' . $id . ']' ) . '" value="'. esc_html( $value ) . '"
    placeholder="' . esc_attr( $placeholder ) . '" /> '.$upload.'
    <label class="description" for="' . esc_attr( 'eo_theme_options[' . $id . ']' ) . '">' . esc_html( $description ) . '</label>';

    return $html;
}

我的媒体上传器工作正常,但它没有插入到文本字段name=eo_theme_options[logo]

我尝试了一切,一切正常,只是插入到应该发布到这个的帖子中,

那会是什么问题呢?

【问题讨论】:

    标签: php wordpress customization


    【解决方案1】:

    这可能看起来很傻,但是当我过去这样做时,我必须确保我插入的图像链接到“媒体文件”,因此实际上有一个返回图像的路径。所以点击“上传图片”,然后找到你想要的图片,确保它链接到“媒体文件”,然后“插入帖子”。

    在我看来,更好的方法是将图像的 ID 存储在隐藏字段中,并显示徽标的缩略图。如果你有图像的 ID,你可以做更多的事情,而不是使用图像的路径。

    更新

    删除输入ID标签内的括号...

    $html = '<input id="' . esc_attr( 'eo_theme_options[' . $id . ']' ) . '"
    

    $html = '<input id="' . esc_attr( 'eo_theme_options_' . $id ) . '"
    

    【讨论】:

    • 图片链接到媒体文件,正常工作没有问题,我也上传了一个文件,然后尝试插入到帖子中,但那不起作用,还尝试插入现有的媒体文件我已经上传了,但还是不行。其他地方可能有问题,我按照应有的方式进行了所有设置,但它没有按应有的方式工作。你只是给出一个意见,而不是任何例子或错误或错误。
    • 嗯,非常感谢,这对我有帮助。 :) 但我不认为这可能是问题所在。因为它似乎不是问题,因为它仍然在我的插件中使用相同的程序方法eo_options[id] 但为什么它不能在我不知道的主题中工作。非常感谢。 :)
    • 你也可以支持我的问题,如果你明白我的意思,请:)
    猜你喜欢
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 2023-03-15
    • 2020-07-13
    • 1970-01-01
    相关资源
    最近更新 更多