0

ブログにログインしているすべてのユーザーにサイト情報を表示するプラグインを作成中です。

私が見つけた最も簡単な方法は、情報を管理バーに添付することです。ただし、簡単に収まるよりも多くの情報を表示したいと思います。ユーザーがタイトルにマウスオーバー (またはクリック) したときに表示される、オーバーレイされた html ボックスにデータを配置したいと思います。

事実上、「ハウディ」アイテムの効果を再現したいと思います。以下は私のプラグインからの敬虔なコードです。

$args = array(
    'id'    => 'counter',
    'title'  => $visitor_count . ' Unique visitors and ' . $page_views .' Page views',
    'href' => '#',
    'aria-haspopup' => 'true',
    'meta' => array( 'html' => '
    <!-- This should be a pop-up message not a fixed box -->
    <div style="width:300px;height:100px;background-color:white;box-shadow: 10px 10px 5px #888888;">
    here be html
    </div>

    ')
);
$wp_admin_bar->add_node( $args );

うまくいけば、これは皆さんにとって何らかの意味があります。

4

1 に答える 1

0

OKクラックしましたが、WPソースコードを見ています。meta['onclick'] はエスケープされますが、javascript を使用できるため、meta['html'] で渡された div を表示/非表示にする関数を呼び出すために使用できます。

つまり(はい、これを再表示するだけであることは知っていますが、divをチェックして非表示または再表示する関数をmeta ['onclick']に簡単に追加できるはずです)

global $wpdb;
global $SH_SWS_data;
$page_views = $wpdb->get_var( "SELECT COUNT(*) FROM ".$SH_SWS_data->tableName);
$visitor_count = $wpdb->get_var( "SELECT COUNT(DISTINCT ip) FROM ".$SH_SWS_data->tableName);

$args = array(
    'id'    => 'counter',
    'title'  => $visitor_count . ' Unique visitors and ' . $page_views .' Page views',
    'href' => '#',
    'aria-haspopup' => 'true',
    'meta' => array( 'html' => '
    <div id="SH_SWS_message_box" style="visibility:hidden;" width="200px" height="100px" >

    <div id="SH_SWS_Chart">Hi all</div>

    </div>
    ', 
            'onclick' => 'document.getElementById("SH_SWS_message_box").style.visibility="visible";')
);
$wp_admin_bar->add_node( $args );
于 2013-07-19T14:36:00.023 に答える