WordPress

WordPressの開発者および管理者向けのQ&A

4
Wordpressブログでアクティブなプラグインのリストをプログラムで取得するにはどうすればよいですか?
私は2つのブログを持っています。1つはマルチサイトで、もう1つはそうではありません。両方のブログでアクティブなプラグインのリストを取得して、それらを比較できるようにします。マルチサイトブログでは、サイト全体だけでなくネットワーク全体で有効になっているプラ​​グインを一覧表示します。

3
サイト全体、およびオプションでカスタム投稿タイプのみに対して、改訂と自動保存を適切にオフにする方法
functions.phpWordPressインストール全体でREVISIONSおよびAUTOSAVEを適切に無効にするために、テーマに追加できるフック/機能の組み合わせはありますか?特定のカスタム投稿タイプだけの場合はどうですか?オンラインで検索すると、スクリプトの登録解除からコアファイルの改ざんまで、さまざまなハッキングが可能になります。これを行うための許容できる/正しい方法は何ですか?

2
同じページの複数のリクエストに同じナンスを使用できますか?
または、これはナンスの目的を壊しますか?:) たとえば、ページの読み込み時に実行される2つのajaxリクエスト、または何かがクリックされた場合: $.ajax({ type: 'post', url: 'admin-ajax.php', data: { action: 'foo', _ajax_nonce: '<?php echo $nonce; ?>' } }); $.ajax({ type: 'post', url: 'admin-ajax.php', data: { action: 'foo2', _ajax_nonce: '<?php echo $nonce; ?>' } });
13 php  ajax  nonce 

3
条件付きでウィジェットのスクリプト/スタイルシートをHEADにエンキューします(ページに存在する場合のみ!)
私は次の条件でWordPressウィジェットのスクリプトとスタイルをロードしようとしています... スクリプトはHEADにロードする必要があります(そうでない場合)。 スクリプトは、ウィジェットが実際に表示されるときにのみロードする必要があります(非常に重いです)。 私は多くの検索を行ってきましたが、これは一般的な(未解決の)問題のように思えます... これは私が今まで持っている最高のものです... 以下は、テキストをサイドバーに出力する簡単なウィジェットです。jQueryを条件付きで(ウィジェットが実際に表示されるときに)正常にロードします...フッターにのみ!(注:このハックは後方互換性を提供する場合がありますが、WordPress 3.3でのみ機能する場合もあります)。 class BasicWidget extends WP_Widget { function __construct() { parent::__construct(__CLASS__, 'BasicWidget', array( 'classname' => __CLASS__, 'description' => "This is a basic widget template that outputs text to the sidebar" )); } function form($instance) { $instance = wp_parse_args( (array) $instance, array( 'title' => '' ) …

7
投稿のサムネイルサイズはどのように取得しますか?
WP Admin Media Settingsまたはこの機能を使用して、投稿のサムネイル画像のサイズを設定する方法を知っています。 set_post_thumbnail_size( 150, 150 ) しかし、画像のサムネイルサイズに設定されている画像の幅 と 高さをどのように取得するのでしょうか? 私はこのようなことをしたいです: get_post_thumbnail_size(); // return array(150, 150) これはどのように行われますか?を使用しているのget_option()ですか?オプションキーはサムネイルの幅と高さですか?

5
投稿に親を含めることはできますか?
投稿には親がいるはずですか?もしそうなら、それは投稿が親を持つために何を意味しますか? また、親を持つ投稿に何らかの制約がある場合、それはどこで実施されますか?私が見るように、DBにはありません。
13 posts  database 


3
カスタム投稿タイプのスラッグ/ページスラッグの競合-ページの保存時に予約スラッグの使用を禁止しますか?
テーマにカスタム投稿タイプのポートフォリオ(スラッグポートフォリオ)があり、1つを除いてすべて正常に機能しています。たとえば、example.com / portfolioなどのポートフォリオのスラッグを含むページを作成する場合、テーマは、エディターで作成されたページではなく、カスタム投稿タイプのアーカイブページを使用したいと考えます。 ページが保存されたときにスラッグポートフォリオを何らかの方法で「予約」して、使用されないように、おそらくポートフォリオページに名前を変更することはできますか? 私のプロジェクトでは、このチュートリアルで概説した方法を使用していますが、ここで言及している競合は次のとおりです。 「コードにパッチを適用しなければならないことに加えて、あなたのページスラッグをカスタム投稿タイプスラッグと同じものと呼ぶことはできないという点で、もう一つの落とし穴があります。ページのタイトルは、ページのスラッグが何か異なる限り、カスタム投稿タイプのスラッグと同じ名前です。」- http://wp.tutsplus.com/tutorials/custom-post-type-pagination-chaining-method/ アドバイスをありがとう!

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' …

6
WPはWPクエリを使用して親のすべてのサブページを取得します
ここに私のコードがあります $my_wp_query = new WP_Query(); $all_wp_pages = $my_wp_query->query(array('post_type' => 'page','post_parent'=>$parid,'orderby'=>'title','order'=>'ASC' )); 最初のレベルのサブページのみを表示します。すべてのサブページ、サブのサブページ...が必要です。私は解決策を探しましたが、get_pagesとwp_list_pagesを使用してすべてのサブページを取得できます。 ただし、カスタムポストメタ値で順序を並べ替える必要があります。だから私はカスタムクエリを使用する必要があります。 助けてください。ありがとう


1
wp_insert_posts()はどの程度安全/消毒されていますか?
以下のためのコーデックスを見ると)wp_insert_post(それは、この機能「...サニタイズ変数は、日付/時間などのような変数が欠落していくつかのチェック、塗りつぶしを行います」と述べている(編集:私は、コーデックスのエントリ更新より堅牢な例を含むようにしますこれには、セキュリティと投稿メタおよびカテゴリの割り当てが含まれます) XSSハッキングなどを防ぐためにさらにサニタイズを行う必要があるのか​​、それとも関数によって十分な処理が行われているのか疑問に思っています。 正直に言うと、私はコアの関数をチェックしましたが、たとえばpost_contentでwp_kses()やその他のサニタイズを見つけていないので、少し心配しています。確認できるのは、データに対するstripslashes_deep()だけです。 wp_insert_post()への引数を作成するときに、wp_kses()または他の何かを実行する必要がありますか? ここでのベストプラクティスは何ですか?Codexは、その例ではセキュリティについてかなり無頓着です。 ありがとう

1
注目の画像の幅を取得し、テンプレートの他の場所で使用する方法は?
single.phpテンプレートで、ページの他の場所で投稿の注目画像の幅を使用できるかどうか疑問に思っています。 私がやろうとしているのは、投稿の注目画像と同じ幅(常に異なる幅になる)でページにdiv要素を追加することです。 誰かアイデアがあれば、教えてください。 ありがとう

3
Settings APIの利点は何ですか?
私がWordPressで仕事をすることはほとんどない、と言ってこれを序文させてください。実際、WordPressでサイトを最後にやったのは2.2の間に戻ってきました。昨日、私はすべてをかなり混乱させ、基本的なメニュープラグインを機能させるために、ここでいくつかの質問をしました。 プラグインが完全に機能し、期待どおりに動作するようになったので、設定APIを使用するなど、機能と互換性を追加するために、あちこちで小さな変更を加えることにしました。しかし、このAPIのチュートリアルを読んで非常に短い時間で、私はかなり混乱しました。次に、この混乱を深め、サンプルを実装しようとしました。 。 何か間違ったことをしていない限り、Settings APIを使用するために理解していることから、PER SETTINGという新しい関数を作成する必要があります。これは、平均的なプラグインでは3〜5個の関数、より高度なプラグインでは最大数百個の関数を意味します。すべての適用可能な$_POST変数を配列に簡単にインポートし、混乱を避けることができる場合に、この多くの関数を記述して(そしてそれらを混乱させないように命名システムを開発するのは)馬鹿げているようです。 たぶん私は昔ながらですが、そこから得るものがない限り、私が書いているコードの量を3倍や4倍にする理由はわかりません。Settings APIを追加する前にオプションを管理する方法は次のとおりです。 function __construct() { /* constructor stuff */ $this->options = $this->db_options = get_option( 'de-menu-options' ); if( $this->options === false ){ $this->options = $this->defaults; } if (is_admin()) { add_action('admin_menu', array(&$this, 'admin_menu')); } /* more stuff */ // When WordPress shuts down we store changes …

5
WP_DEBUGは設定されていませんが、まだ警告が表示されます
私が理解しているように、WP_DEBUGが設定されていない場合、警告が表示されることはありません。しかし、一部のサーバーの一部のサイトでは、まだいくつか表示されています。WP_DEBUGが設定されている場合に表示されるすべての警告ではなく、いくつかの警告を選択します。 私はphp.iniのエラーレベルを変更しようとしましたが、それは警告が表示されるかどうかには影響しないようですが、異なるサーバーで異なる量で表示されます(つまり、開発上の警告なし、ステージング上の警告、本番環境でさらにいくつかの警告)。

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