3

というわけで問題はこんな感じ。WordPressの勉強を始めています。さて、とてもクールなプラグイン ( http://wordpress.org/extend/plugins/wp-tagcanvas/ ) に出会いました。組み込みのテーマを使用してプラグインを有効にすると、サイドバーに表示されます。ここまでは大丈夫です。今、私は自分のカスタムテーマを作ろうとしています. 多くのテンプレート ファイルの 1 つでいくつかの関数呼び出しが原因で、21 サイドバーのすべてのウィジェットが表示されることを理解しています。したがって、sidebar.php で同様の呼び出しを行う必要があることを解読します。

<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
<div id="first" class="widget-area" role="complementary">

これで、「検索」ウィジェットがサイドバーに表示されます。それに伴い、「タグクラウド」という見出しが表示され、その後何も表示されません。一方、Twenty-eleven テーマを使用すると、完全に機能する 3D クラウド ウィジェットが得られます。

プラグインの readme.txt ファイルを確認しました。21 のテーマでクラウド ウィジェットを表示できるので、そこの指示に正しく従いました。

ここで私が間違っていること、または何か不足している場合、誰かが私を助けてくれますか?

もう 1 つの質問は、インデックスを使用してウィジェットを表示する方法です。私はこれらの行を書きました:

<?php $the_sidebars = wp_get_sidebars_widgets();
print_r( $the_sidebars); ?>

次の出力が得られます。

Array ( [wp_inactive_widgets] => Array ( [0] => calendar-2 [1] => search-3 ) [sidebar-1] => Array ( [0] => search-2 [1] => tag-cloud-html5 ) [sidebar-2] => Array ( ) [sidebar-3] => Array ( ) [sidebar-4] => Array ( [0] => rss-2 ) [sidebar-5] => Array ( ) ) 

では、表示する必要がある場合、たとえば rss ウィジェットをどこかで表示する必要がある場合、そのインデックスを使用してどのように表示するのですか? よろしくお願いします。

4

1 に答える 1

1

どうやら、やっと分かったようです。

問題は、自分のファイルでwp_headアクションを呼び出さなかったことです。そして、このプラグインはwp_headアクションで有効化されます。私のテーマに対してアクションが呼び出されていなかったため、プラグインは登録されておらず、表示されていませんでした。一方、21 のテーマは、他のすべての優れたテーマと同様に、wp_head を呼び出していたため、そのテーマがアクティブ化されたときに雲が表示されていました。

インデックスによる呼び出しに関して、_widget 関数にはパラメーターとしてウィジェット名を渡す必要があることが他のフォーラムでわかりました。したがって、これはインデックスでは機能しません。誰かがそれ以外のことを見つけたら、私に知らせてください。

したがって、この質問を解決済みとしてマークします。

于 2012-12-16T19:40:14.883 に答える