サポート » 使い方全般 » 固定ページの本文の部分でウィジェットを使いたい

  • 固定ページのサイドバーではなく、本文の部分で、ウィジェットを表示したいと考えています。

    固定ページの本文で、ウィジェットを用いることが出来る方法はありますでしょうか。
    わかる方が、いらっしゃいましたらよろしくお願いします。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • こんにちは

    使ってないですけど

    amr shortcode any widget

    http://wordpress.org/extend/plugins/amr-shortcode-any-widget/

    というのがあるみたいです

    トピック投稿者 shinozaki

    (@shinozaki)

    nobitaさん

    nobitaさんが教えてくださいましたプラグインを導入してみましたが、
    調べてみたところ、amr shortcode any widgetを使っている人が少ないみたいで、
    説明なども少なく、使い方がいまいちよくわかりませんでした。

    使い方または、ほかの方法ってありますでしょうか?

    ごめんなさい

    動かないみたいですね

    なので作ってみました。

    functions.phpに貼り付けてみてください。
    ちょっとしか試していないので、不具合あったら書き込んでください。

    <?php
    function widget_func($atts) {
    	extract(shortcode_atts(array(
    		'name' => 'WP_Widget_Recent_Posts',
    	), $atts));
    	ob_start();
    	the_widget($name);
    	$widget = ob_get_contents();
    	ob_end_clean();
    	return $widget;
    }
    add_shortcode('get_widget', 'widget_func');
    ?>

    ページのテキストエリアに

    [get_widget name=”WP_Widget_Tag_Cloud”]

    などと書きます。

    ウィジェット名は、

    http://codex.wordpress.org/Function_Reference/the_widget

    で探してください。

    トピック投稿者 shinozaki

    (@shinozaki)

    nobitaさん

    ありがとうございます。
    nobitaさんのコードで無事動きました。

    ですが、私の場合はカテゴリーの表示を考えているものの、
    nobitaさんのコードがいまいち理解できていないので、
    実際に表示したカテゴリーのデザインやウィジェットタイトルの変更の方法などが
    理解できませんでした。

    何か、方法などはありますでしょうか。

    'name' => 'WP_Widget_Recent_Posts',

    この配列に、引数を追加してください

    the_widget($widget, $instance, $args);

    $argsのところも追加してください。

    http://wpdocs.sourceforge.jp/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89_API

    を読んでみてください

    トピック投稿者 shinozaki

    (@shinozaki)

    nobitaさん

    コードを書いてみましたが、動きませんでした。
    どの部分を修正するのがいいのでしょうか。

    <?php
    function widget_func($atts) {
      extract(shortcode_atts(array(
        'name' => 'WP_Widget_Recent_Posts',
      ), $atts));
      ob_start();
      the_widget($widget, $instance, $args);
      $widget = ob_get_contents();
      ob_end_clean();
      return $widget;
    }
    add_shortcode('get_widget', 'widget_func');
    ?>

    functions.php

    function widget_func($atts) {
    	extract(shortcode_atts(array(
    		'name' => 'WP_Widget_Categories',
    		'title' => __( 'Categories' ),
    		'count' => 0,
    		'hierarchical' => 0,
    		'dropdown' => 0
    	), $atts));
    
    	$instance = array( 'title','count','hierarchical','dropdown' );
    	$instance = compact( $instance );
    
    	if( $name == 'WP_Widget_Categories' ){
    		ob_start();
    		the_widget( $name, $instance );
    		$widget = ob_get_contents();
    		ob_end_clean();
    
    		return $widget;
    	}else{
    		return $name. ' is not support';
    	}
    }
    add_shortcode('get_widget', 'widget_func');

    ページの投稿に

    [get_widget name="WP_Widget_Categories" title="test" count="1" hierarchical="1" dropdown="1"]

    コードを書いてみましたが、動きませんでした。
    どの部分を修正するのがいいのでしょうか。

    ショートコードや、関数の使い方を、よく理解してから、コードの変更をしてください。
    問題が発生した時には、自己責任ですし、修正も出来なくなります。

    書き込んだコードは、十分にテストを重ねたものでも、利用実績を積み重ねたものでもないので、回答コードが完全なものだとは思わないほうがいいです。

    修正や改良が必要になる事が、あって当たり前と思ってくださいね

    トピック投稿者 shinozaki

    (@shinozaki)

    nobitaさん

    私の手順の問題かもしれませんが、
    [get_widget name=”WP_Widget_Categories” title=”test” count=”1″ hierarchical=”1″ dropdown=”1″]
    を導入したことで、

    HTTP エラー 500(Internal Server Error): サーバーによるリクエストの実行中に、予期しない状況が発生しました。

    という表示が出ました。

    解決方法がわかりませんが、いろいろと調べてみることにします。

    shinozakiさん

    前に、お知らせしたコードを書いたまま、新しいコードを試していませんか?

    トピック投稿者 shinozaki

    (@shinozaki)

    nobitaさん

    function widget_func($atts) {
    	extract(shortcode_atts(array(
    		'name' => 'WP_Widget_Categories',
    		'title' => __( 'Categories' ),
    		'count' => 0,
    		'hierarchical' => 0,
    		'dropdown' => 0
    	), $atts));
    
    	$instance = array( 'title','count','hierarchical','dropdown' );
    	$instance = compact( $instance );
    
    	if( $name == 'WP_Widget_Categories' ){
    		ob_start();
    		the_widget( $name, $instance );
    		$widget = ob_get_contents();
    		ob_end_clean();
    
    		return $widget;
    	}else{
    		return $name. ' is not support';
    	}
    }
    add_shortcode('get_widget', 'widget_func');

    このコードを挿入したところで、エラーが発生し、
    管理画面に入れない状態となりました。

    function widget_funcがfuntions.phpに2箇所書かれていませんか?

    同じ関数が重複した場合は、500エラーになります。

    管理画面に入れない状態となりました。

    テーマの編集から、操作していたのですか?
    レンタルサーバーのファイルマネージャー(ファイルやディレクトリを作成したり編集できる機能が大抵あります)などで、functions.phpを開いて修正してください。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「固定ページの本文の部分でウィジェットを使いたい」には新たに返信することはできません。