タグ付けされた質問 「widgets」

ウィジェットは、WordPressテーマのセクションを動的に構築するために使用される設定可能な要素です。

2
使用されている場合にのみウィジェットのjavascript + cssファイルをロードするにはどうすればよいですか?
ウィジェットで使用されるjavascriptスタイルとcssスタイルを独自のファイル内に保持します(テーマに追加しません)。 しかし、ウィジェットが実際にサイドバーで使用されている場合、ワードプレスにそれらを追加させることはできません。 私はこれを試しました: クラス宣言内に、2つの関数を追加しました class EssentielleRubriquesPosts extends WP_Widget { function addFrontendCss(){ wp_enqueue_style('erw-frontend-css', ESSENTIELLE_RUBRIQUE_WIDGET_PLUGIN_PATH . 'css/EssentielleRubriqueWidget-frontend.css'); } function addFrontendJavascript(){ wp_register_script('jq-hoverintent', PLUGIN_PATH . 'js/jquery.hoverintent.js', array('jquery'), '1.0',true); wp_enqueue_script('jq-hoverintent'); wp_enqueue_script('jq-tools', PLUGIN_PATH . 'js/jquery.tools.js', array('jquery'),'1.0',true); wp_enqueue_script('erw-frontend-js', PLUGIN_PATH . 'js/widget-frontend.js', array('jquery', 'jq-hoverintent', 'jq-tools'),'1.0',true); } およびwidget()関数内: function widget($args, $instance) { add_action( 'wp_print_scripts', 'addFrontendJavascript' ); add_action( 'wp_print_styles', 'addFrontendCss' …

5
ウィジェットオプションをウィジェットの「外部」で使用する
ウィジェットオプションにいくつかのパラメーターを保存して、別のページに渡します。ウィジェットは、Webサービスを呼び出すフォームです。 渡すオプションは、現在結果ページにハードコードされているWebサービスの認証です(テンプレートとして行われます)。したがって、それらはWebサイトユーザーから非表示にする必要があります。 ウィジェット/プラグインのコード: function widget($args, $instance){ extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? 'Choose a service' : $instance['title']); $lineOne = empty($instance['username']) ? '' : $instance['username']; $lineTwo = empty($instance['password']) ? '' : $instance['password']; # Before the widget echo $before_widget; // etc... 結果ページ... $url = "http://www.nhs.uk/NHSCWS/Services/ServicesSearch.aspx?user=".[USERNAME]."&pwd=".[PASSWORD]."&q=".$_POST['PostCode']."&type=".$_POST['ServiceType'].""; WPがどのようにハングアップするかをまだ学習しているので、n00bの質問には申し訳ありません。
13 options  widgets 

2
ウィジェットフィールドデータを配列として保存する方法は?
私はウィジェットを作成しています、それは約10のIDを格納する必要があります。現在、次のフィールドメソッドを使用して、各IDを個別のフィールドに格納しています。ワードプレスでは、各フィールドのデータを個別に保存します。配列を使用して、たとえばすべてのフィールドのデータをワードプレスの1行だけに格納することは可能ですか? <input class="widefat" id="<?php echo $this->get_field_id('item1_id'); ?>" name="<?php echo $this->get_field_name('item1_id'); ?>" value="<?php echo $instance['item1_id']; ?>" /> <input class="widefat" id="<?php echo $this->get_field_id('item2_id'); ?>" name="<?php echo $this->get_field_name('item2_id'); ?>" value="<?php echo $instance['item2_id']; ?>" />

2
ウィジェットフォームフィールドを動的に追加する
WordPressウィジェットに動的にフォームフィールドを追加しようとしています。したがって、ユーザーがイベントに別の日付を追加する場合は、ボタンをクリックしてフィールドをさらに取得できます。 問題は、新しく作成した入力フィールドをデータベースに保存するにはどうすればよいですか? カスタム更新関数を作成する必要がありますか?任意のヒント? これはウィジェットがどのように見えるかです: これはウィジェット(これまでのところ)の私のphpコードです: class Spillelister extends WP_Widget { public function Spillelister() { $widget_options = array ( 'classname' => 'spillelister-widget', 'description' => 'Widget for å illustrere spillelister.'); parent::WP_Widget('spillelister_widget', 'Spilleplan', $widget_options); } // The actual widget user interface public function widget($args, $instance) { extract( $args, EXTR_SKIP); $title = ( $instance['title'] …

3
wp-admin / widgets.phpの変更
主にサイト管理者が各ウィジェットがサイト内のどこに表示されるかを理解できるようにするために、管理パネルのウィジェットページを少し違った方法で設計します。 そのためには、widgets.phpがレンダリングするHTMLを変更する必要があります(単にcssを変更するだけでは不十分です)。コアに触れずにそれを行うにはどうすればよいでしょうか?

1
wp_register_sidebar_widgetとregister_widgetの違いは何ですか?
それらの違いは何ですか?いつ使用する必要がありますか? 私が使用しているwp_register_sidebar_widget今、それが正常に動作していますが、私はオンラインregister_widgetとクラスを使用してウィジェットを作成する方法についてのチュートリアルをたくさん見てきた、私のウィジェットのほとんどはオプションはので、私はに固執すべきである必要はありませんwp_register_sidebar_widgetか、私が使用する必要がありますregister_widgetフォームがなくても? 前もって感謝します。

1
非アクティブなウィジェットの数を制限する
「wp_inactive_widgets」サイドバーから最大10までウィジェットの数を制限しようとしています。ウィジェットの管理ページが非常に遅いためです。 add_filter('pre_update_option_sidebars_widgets', 'cleanup_inactive_widgets', 10, 2); function cleanup_inactive_widgets($new, $old){ if(!empty($new['wp_inactive_widgets']) && count($new['wp_inactive_widgets']) > 10) $new['wp_inactive_widgets'] = array_slice($new['wp_inactive_widgets'], -10, 10); return $new; } これは明らかに機能しますが、問題は、ウィジェットインスタンスがサイドバー内に存在するかどうかに関係なく、ウィジェットインスタンスオプションがデータベースに残っていることです... 誰かがウィジェットオプションを削除する方法も知っていますか? 私は解決策を見つけました: 編集:特定の状況では他のサイドバーからもウィジェットを削除しているようですが、何が原因なのかわかりません... if(!empty($new['wp_inactive_widgets']) && count($new['wp_inactive_widgets']) > 10){ // find out which widget instances to remove $removed_widgets = array_slice($new['wp_inactive_widgets'], 0, -10); // remove instance options foreach($removed_widgets as $widget_id) …
10 php  widgets  options 

5
カスタムウィジェット内からbefore_widgetにクラスを追加する
幅を求めるシンプルなカスタムウィジェットがあります(これは後でフロントエンドで使用されます)。幅フィールドは選択ドロップダウンであるため、事前定義されたオプションがあります。 私はウィジェットの多くのインスタンスを持ち、それぞれに独自の幅設定があります。 今、私のウィジェットコードには次のコードがあります: echo $before_widget; その結果: <div class="widget my" id="my-widget-1"></div> 私がしたいのは、どういうわけか$before_widget私自身のクラス(選択ドロップダウンから指定された幅)にフックして追加します。したがって、次のマークアップが必要です。 <div class="widget my col480" id="my-widget-3"></div> クラスが指定されていない場合は、追加しclass="col480"ます。 どうすればこれを達成できますか? 手伝ってくれてありがとう!ダーシャ

3
サイドバーウィジェットのカスタム投稿タイプデータ?
(注:この質問は元々カスタムフィールドに関するものでしたが、@ MikeSchinkelはカスタム投稿タイプを含むより優れたソリューションを持っていました) 私のサイトには、サイドバーに同じデータを表示したいページがいくつかあります。たとえば、次のような構造の場合: -Home -Cars -Volvo 850 overview -Volvo 850 tech spec -Volvo 850 pictures -Porsche 911 overview -Porsche 911 tech spec -Porsche 911 pictures -Roads -Route 66 overview -Route 66 history -Route 66 pictures -Pan-American Highway overview -Pan-American Highway history -Pan-American Highway pictures Volvo 850のすべてのページに同じデータをサイドバーに表示し、すべてのポルシェのページに異なるデータセット(たとえば、Speed、Makerなど)を表示したいと思います。 道路ページには、道路ごとに独自のデータセットがあります。車と道路にも独自のページテンプレートがあり、右側のサイドバーを取得する方法は、sidebar.php内で次のようになります。 if ( is_page_template('car-profile-template.php') …

7
ウィジェットのタイトルの後にウィジェットのコンテンツをラップするdivを追加する
動的サイドバーのウィジェットのコンテンツにdivを追加しようとしています。 これが登録コードです。 register_sidebar(array( 'name' => "Sidebar1", 'id' => 'home-sidebar-1', 'before_widget' => '<div class="sidebar-box">', 'after_widget' => '</div>', 'before_title' => '<div class="title">', 'after_title' => '</div>', )); しかし、このコードはこのような原因になります。 <div class="sidebar-box"> <div class="title">{WIDGET TITLE}</div> {WIDGET CONTENT} </div> これが私がやろうとしていることです。 <div class="sidebar-box"> <div class="title">{WIDGET TITLE}</div> <div class="content"> {WIDGET CONTENT} </div> </div> どうすればできますか?

4
ウィジェットで作成されたメニューにカスタムウォーカーを追加する
テーマによって作成されたカスタムメニュー(primaryこの例では名前が付けられたメニュー)にウォーカーを追加する方法を知っていますが、デフォルトのワードプレスカスタムメニューウィジェットを使用して、ウィジェットで作成されたメニューをどのようにターゲットできますか? if ( has_nav_menu( 'primary' ) ) { $args = array( 'menu' => 'main-menu', 'menu_id' => 'main-menu', 'theme_location' => 'primary', 'depth' => 0, 'container' => false, 'menu_class' => 'nav', 'walker' => new Myprefix_Walker_Nav_Menu(), 'echo' => 0 ); $nav = wp_nav_menu( $args ); }
10 menus  widgets  walker 

3
新しい4.8vテキストウィジェットビジュアルエディターを削除できますか?
デフォルトのテキストウィジェットの新しい4.8ウィジェットビジュアルエディターをアンフックまたは削除して、ウィジェットを4.8より前のエディタースタイルに復元できますか? ウィジェットのビジュアルエディターは必要ありません。私はそれらをプレーンテキストとhtmlに使用し、他のユーザーがプレーンテキスト以外のものを追加する必要はありません。 新しいビデオ、オーディオ、画像ウィジェットを必要としないため、それらを削除する方法を学びfunctions.phpました。 // Unregister default WP Widgets function unregister_default_wp_widgets() { unregister_widget('WP_Widget_Media_Audio' ); unregister_widget('WP_Widget_Media_Image'); unregister_widget( 'WP_Widget_Media_Video' ); } add_action('widgets_init', 'unregister_default_wp_widgets', 1); しかし、デフォルトのテキストウィジェットからビジュアルエディタータブも削除したいと思います。 編集:ビジュアルエディターがないPHPコードウィジェットhttps://wordpress.org/plugins/php-code-widget/を使用できますphp。通常、実行する必要はありませんが、便利です。しかし、これは、で遊ぶ可能性のあるユーザーのために「ものを壊す」ベクトルを追加しphpます。

3
プラグインのアップグレード:ウィジェット設定
私はこれについていくつかの研究を試みましたが、まだ確かなものは何も見つかりませんでした。私が作業しているプラ​​グインがあり、前のバージョンと新しいバージョンの間で、(バックエンドの)設定名の一部を変更するウィジェットにいくつかの更新を行いました。これを行うためのアップグレードルーチンの作成に問題があります。 これまで(ほとんど)機能しているように思われるのは次のとおりです。 $widget = get_option( 'widget_name' ); if( is_array( $widget ) && ! empty( $widget ) ) { foreach( $widget as $a => $b ) { if( ! is_array( $b ) ) { continue; } foreach( $b as $k => $v ) { $widget[$a]['setting1'] = $widget[$a]['oldsetting1']; $widget[$a]['setting2'] = $widget[$a]['oldsetting2']; } …

2
組み込みのWordpressの「リンクの参照」機能を使用するにはどうすればよいですか?
私はウィジェットをコーディングしていて、通常の投稿またはページを編集するとき(小さなリンクアイコンをクリックしてポップアップにAJAX検索機能が表示されるとき)にできるように、ユーザーがリンクを選択できるようにしたい)。誰かがこれをどのように機能させるか知っていますか?アタッチしてクリックするHTMLボタンと、値を入力するフィールドがあります。 class-wp-editor.phpでいくつか興味深いものを見つけ、これらのファイルが必要かどうか疑問に思いました。 wp_enqueue_script('wp-fullscreen'); wp_enqueue_script('wplink'); fullscreen.link();上記のファイルと同様に、呼び出し時にこのエラーが発生します: Uncaught ReferenceError: wpActiveEditor is not defined ..そして、今のところ困惑しています。その変数を参照するJSは私には頭がおかしいからです。 正しい方向に向けてくれませんか?私はこれを動作させたいと思っています。それは私のウィジェットのためのキラーユーザーインターフェースを作るでしょう! ------編集------- これまでのところ、私が以前に述べたスクリプトのインクルードを除いて、それほど多くのコードはありません。 <label for="<?php echo $this->get_field_name('link'); ?>">Link URL (including http://) : </label> <input type="text" id="<?php echo $this->get_field_id('link'); ?>" name="<?php echo $this->get_field_name('link'); ?>" value="<?php if(isset($link)) echo esc_attr($link); ?>" class="widefat" /> <button class="secondary" id="choose_link">Link Browser</button> ..リンクスクリプトを開くトリガーとなるJSの部分。 linkBrowserButton.on("click", function(e){ e.preventDefault(); …

1
qTranslateプラグインを使用してウィジェットのタイトルを翻訳する
qTranslateプラグインを使用してウェブサイトを翻訳しています。それは、1つのことを除いてすべてで本当にうまくいきます。サイドバーウィジェットのタイトル。 実際、いくつかの単語を翻訳するには、次のようなタグを付ける必要があります。 <!--:en-->My English Title<!--:--><!--:fr-->My French Title<!--:--> 私のウィジェットのコンテンツでこれを使用すると、うまく機能します。しかし、ウィジェットを保存すると、タイトルに表示されます。それは実際に私のタグを削除し、単に表示します: My English TitleMy French Title 誰でもこれを修正する方法を知っていますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.