0

最小幅を設定するために、管理パネルに固定幅の画像またはdivタグを埋め込みたいのですが。このようなもの、

<div style="width:1000px; height:0px; border:0px;"></div>

適切なフックが見つかりませんでした。このページhttp://codex.wordpress.org/Plugin_API/Action_Referenceには、使用可能なフックがリストされており、、を含むいくつかのフックを試しましwp_before_admin_bar_renderwp_after_admin_bar_render#wpcontentただし、すでにロードおよびレンダリングされているため、画像を埋め込むには遅すぎます。私も試しadmin_headましたが、画像を埋め込むには時期尚早です。幅は効果がありません。#wpcontentのdiv要素の前に画像を配置する必要があります。左側のメニューをレンダリングした後だと思います。

出来ますか?

#wpcontentの幅をスタイルシートで直接指定することは、異なるWordPressバージョンでは成功しませんでした。だから私は代替案を探しています。あなたの情報をありがとう。

4

2 に答える 2

3

これを試しましたか?

add_action('in_admin_header');

またはこれら...

add_action('network_admin_notices');
add_action('user_admin_notices');
add_action('admin_notices');
add_action('all_admin_notices');

しかし、他のものは通知のために予約されているので、私は最初のものを好みます。

于 2012-10-09T15:03:57.760 に答える
0

問題は挿入のタイミングではなく、divタグのスタイルにあるようです。これの目的は管理パネルに最小幅を作成することであるborder:0pxため、ソリッド要素は作成されません。したがって、ブラウザはそれを無視しているようです。

これを挿入するとうまくいきました。

<div id="min-width" style="width:1000px; height:0px; border:1px; border-style:solid; border-color: rgba(0,0,0,0);"></div>

これは、その方法を示すサンプルプラグインです。

<?php
    /* Plugin Name: Sample Embed Image for Admin Page Width  */

    add_action('plugins_loaded', create_function('', 
        '$o = new AdminPageClass_EmbedImage("Sample Embed Image in Admin Panel"
                , "Sample Embed Image in Admin Panel"
                , "manage_options"
                , "sample_embed_image_in_admin_panel");
        '));

    class AdminPageClass_EmbedImage {

        function __construct($title, $menuname, $privilege, $pageslug) {
            $this->title = $title;
            $this->menuname = $menuname;
            $this->privilege = $privilege;
            $this->pageslug = $pageslug;
            add_action('admin_menu', array(&$this, 'admin_menu'));  
            add_action('wp_before_admin_bar_render', array(&$this, 'embed_image')); // inserts it between #wpcontent and #wpadminbar
            // add_action('in_admin_header', array(&$this, 'embed_image')); // inserts it between #wpadminbar and #wp-body which is after #wpcontent
            // add_action('network_admin_notices', array(&$this, 'embed_image')); // no insertion
            // add_action('user_admin_notices', array(&$this, 'embed_image')); // no insertion
            // add_action('admin_notices', array(&$this, 'embed_image')); // inserts it after #screen-meta inside #wpbody-content which is inside #wp-content
            // add_action('all_admin_notices', array(&$this, 'embed_image')); // same as 'admin_notices'
        }
        function admin_menu() {
            add_options_page($this->title, $this->menuname, $this->privilege, $this->pageslug, array(&$this, 'admin_page'));
        }
        function embed_image() {
            ?>
            <div id="min-width" style="width:1000px; height:0px; border:1px; border-style:solid; border-color: rgba(0,0,0,0);"></div>
            <?
        }
        function admin_page() {
            // $this->embed_image();
            ?>
            <div class="wrap">
                <h1>Hi there</h1>
                <?php // $this->embed_image(); ?>
                <p>Hello World!</p>
            </div>
            <?php
        }
    }
于 2012-10-10T05:58:14.763 に答える