媒体按钮厚盒内容无处不在

时间:2015-11-24 16:03:09

标签: php wordpress

更新:更改了内部div内容

请理解,而不是我对wordpress和php的新手。

我在管理员的媒体按钮中添加了一个媒体按钮,将以下代码添加到functions.php文件中:

function add_custom_media_button() {
    echo '<a href="#TB_inline?inlineId=custommedia_container" id="insert-my-media" class="button thickbox">Add custom media</a>';
}
add_action('media_buttons', 'add_custom_media_button', 15);

add_action( 'admin_footer',  'add_inline_popup_content' );
function add_inline_popup_content() {
    $cu = wp_get_current_user();
    $cusername = $cu->user_login;
    echo '<div id="custommedia_container" style="display:none;">';
    echo '<iframe class="mediaselectoriframe" title="Archivado" width="100%" height="99%" title="cosas" src="http://nephila.cloudapp.net/GAdEWeb/wpsearch.aspx?wpuser=' . $cusername . '&wplang=' . $clocale . '" frameborder="0"></iframe>';
    echo '</div>';
}

现在,这是在创建帖子页面,但不是其他任何地方。

我可以在编辑帖子,创建页面和编辑页面中看到我的按钮,但在厚箱内没有任何内容。

更新:仍然无法解决此问题。我尝试过改变一切,没有任何改进。我真的很感激,如果有人可以给我一个提示,我似乎没有找到任何关于此的信息,但我不能相信我是唯一一个有这个的人问题

2 个答案:

答案 0 :(得分:1)

就你的代码不起作用而言,你的echo语句中有错误:

echo 'I'm ' . $cusername . ' and I'm testing my media thickbox';

您的单引号未正确转义,因此您最有可能生成错误消息,这就是您的thickbox为空(WSOD)的原因。它应该是这样的:

echo 'I\'m ' . $cusername . ' and I\'m testing my media thickbox';

或者像这样:

echo "I'm $cusername and I'm testing my media thickbox";

就WordPress的工作方式而言......你为管理界面或前端界面的工作方式添加的任何代码都应添加到主题的functions.php文件或插件中。更改WordPress核心文件是一个非常糟糕的习惯,因为只要有新的更新,您的所有更改都将被覆盖。

在您的情况下,您将此代码添加到admin.php,该文件位于wp-admin文件夹中,该文件夹被视为核心WordPress文件夹和文件。你基本上永远不想触摸wp-admin或wp-includes内部的任何内容(甚至在root上,除了wp-config.php,如果你知道你正在做什么,可能还有.htaccess)。 wp-content文件夹是唯一一个在WordPress升级中永远不会被触及的文件夹。这就是您希望在此处添加代码而不是通过核心文件添加代码的原因。

将上面的代码移到主题的functions.php文件中,它仍然可以正常工作。按照我的建议对您的echo语句进行更正,您应该会看到thickbox中的内容出现。如果您对WordPress的工作方式有任何其他疑问,请告诉我,我们很乐意帮助解答这些问题!

答案 1 :(得分:0)

我最终通过将我的两个功能改为一个来设置&#34;按钮&#34;直接显示iframe,如下所示:

function add_custom_media_button() {
    $cu = wp_get_current_user();
    $cusername = $cu->user_login;
    $clocale = get_locale();
    echo '<a href="http://nephila.cloudapp.net/GAdEWeb/wpsearch.aspx?wpuser=' . $cusername . '&wplang=' . $clocale . '&TB_iframe=true&width=800&height=600" id="insert-my-media" class="button thickbox">Add custom media</a>';
}
add_action('media_buttons', 'add_custom_media_button', 15);