1

このトピックがかなり議論されていることは知っていますが、オンラインで見つけられるものはすべて試しましたが、何も機能していません. カスタム テンプレートに 1 つのウィジェット領域が必要です。if を最初から書き、ベアボーン タイプのスターターを使用しなかったため、開始する functions.php がありませんでした。

wp-admin では、ウィジェットが本来のように表示されますが、その領域にウィジェットがあり、ページがリロードされるとリセットされます。つまり、ウィジェットは本来あるべき領域に保持されません。私は何かを逃していますか?私のワードプレスのインストールは悪いですか?

これが私の functions.php 全体です

<?php
register_sidebar
    (
        array(
            'name' => 'Header Widget',
        'id' => 'headerBanner',
        'before_widget' => '<div id="banner">',
        'after_widget' => '</div>',
        'before_title' => '',
        'after_title' => '',
    )
)

?>

そして私のindex.php

<?php if ( !dynamic_sidebar (1)) : ?>
<h1>it didn't work</h1>
<?php endif; ?>
4

2 に答える 2

2

試す:

<?php if(!dynamic_sidebar ('headerBanner')) : ?>
<h1>it doesn't work</h1>
<?php endif; ?>

呼び出し時に表示したいサイドバーのIDを渡す必要がありますdynamic_sidebar

またdynamic_sidebar、サイドバーにウィジェットが追加されていない場合は false が返されるので、ウィジェットを追加して動作するかどうかを確認してください。

于 2012-12-13T21:14:16.347 に答える
0

この他のアプローチを試しましたか?

<?php dynamic_sidebar( 'headerBanner' ); ?>
于 2012-12-13T22:02:40.497 に答える