固定ページの本文の部分でウィジェットを使いたい
-
こんにちは
使ってないですけど
amr shortcode any widget
http://wordpress.org/extend/plugins/amr-shortcode-any-widget/
というのがあるみたいです
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
で探してください。
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
を読んでみてください
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"]
コードを書いてみましたが、動きませんでした。
どの部分を修正するのがいいのでしょうか。ショートコードや、関数の使い方を、よく理解してから、コードの変更をしてください。
問題が発生した時には、自己責任ですし、修正も出来なくなります。書き込んだコードは、十分にテストを重ねたものでも、利用実績を積み重ねたものでもないので、回答コードが完全なものだとは思わないほうがいいです。
修正や改良が必要になる事が、あって当たり前と思ってくださいね
nobitaさん
私の手順の問題かもしれませんが、
[get_widget name=”WP_Widget_Categories” title=”test” count=”1″ hierarchical=”1″ dropdown=”1″]
を導入したことで、HTTP エラー 500(Internal Server Error): サーバーによるリクエストの実行中に、予期しない状況が発生しました。
という表示が出ました。
解決方法がわかりませんが、いろいろと調べてみることにします。
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');
このコードを挿入したところで、エラーが発生し、
管理画面に入れない状態となりました。
- トピック「固定ページの本文の部分でウィジェットを使いたい」には新たに返信することはできません。