0

タイトル フィールドを持つ基本的な WP ウィジェットを作成する方法を示すチュートリアルhttp://www.makeuseof.com/tag/how-to-create-wordpress-widgets/を見つけました。

収集できるように、ウィジェットにさらに2つのフィールドを追加するのを手伝ってくれる人はいますか?

  • 題名
  • コンテンツ
  • リンク

これを使用してスタイルを設定する方法を知っていると思います。

大変助かりました!

ドベント

4

2 に答える 2

4

ファイルに追加するコード

コンテンツ用のテキストエリアを追加したい場合は、次の行を に追加できますfunction form($instance):

printf(
    '<textarea class="widefat" rows="16" cols="20" id="%1$s" name="%2$s">%3$s</textarea>',
    $this->get_field_id( 'content' ),
    $this->get_field_name( 'content' ),
    $content
);

$content前に挿入したコンテンツはどこにありますか。

テキストフィールドの場合、次の行を samen 関数に入れることができます。

printf( '<p>
        <label for="%1$s">%2$s</label>
        <input class="widefat" id="%1$s" name="%3$s" type="text" value="%4$s" />
    </p>',
    $this->get_field_id( 'link' ),
    __( 'Title:', $this->language ),
    $this->get_field_name( 'link' ),
    esc_attr( $link )
);

$link前に挿入したコンテンツはどこにありますか。

次の行を に追加しますfunction update($new_instance, $old_instance)

$instance['content'] = $new_instance['content'];
$instance['link']    = $new_instance['link'];

次の行を に追加しますfunction widget($args, $instance)

$content = empty( $instance['content'] ) ? '' : wpautop( $instance['content'] );
$link    = empty( $instance['link'] ) ? '' : esc_attr( $instance['link'] );

if ( ! empty( $content ) )
    echo $content;

if ( ! empty ( $link ) )
    echo "<a href='$link'>$link</a>";

<p>コンテンツにを自動的に追加したくない場合は、単純に を削除してくださいwpautop

関数の機能

function form($instance)バックエンド ウィジェット フォーム
function update($new_instance, $old_instance)がウィジェット フォームの値を保存時にサニタイズすることを示します。
function widget($args, $instance)ウィジェットのフロントエンド表示を示します

そこで、ウィジェット設定ウィンドウの表示を変更したい場合は、 の内容を編集しますfunction form($instance)

それが役に立てば幸い!

于 2012-12-12T12:11:43.117 に答える