WordPress

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


4
HTTPヘッダーを変更するためのWP関数/フィルター?
HTTPヘッダーを追加/変更するときに使用する専用のWP関数、アクション、またはフィルターはありますか? 今のところ、私は次のようにWP 'init'フックにPHP header()呼び出しをフックするだけです。 add_action('init', 'add_header_xua'); function add_header_xua(){ if(!is_admin()){ header('X-UA-Compatible: IE=edge,chrome=1'); } } しかし、これはそれを行う正しい方法ですか?
17 api  headers 

3
プラグイン開発の単体テスト
プラグインの1つに単体テストを適用する必要があります。最近、クラスに再設計したので、ユニットテストは今より簡単に適用できるはずです。 プラグインの単体テストに効果的な戦略は何ですか?プラグインで使用されるWordPressの機能を使用する方法が必要ですが、実行中のWordPressサイト(DB AFAIKでデータをテストするだけ)は必要ありませんか? サイトのコンテキストでプラグインではなくプラグインを単体テストする方法を見つけるのに苦労しています。これにはSeleniumを使用できますが、今はプラグインクラスの機能を単体テストすることに集中したいので、更新のたびにそれらを壊さないようにします。

2
テーマの更新通知機能を作成する
質問は簡単です:)私は多くのサイトで使用するテーマを作成しています。そのため、バグを修正したりテーマをアップグレードしたりするたびに、すべてのサイトにアクセスしてファイルをftpしたくありません。 wordpressプラグインディレクトリでホストされているプラ​​グインのような更新システムを作成する方法はありますか。 お返事をお待ちしています。ありがとう! 解決済み: 素晴らしいリンクをありがとう、Chip Bennett。テーマの更新ライブラリがそのサイトで利用可能になりました。ここで見つけることができます: http //w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/ 無料で利用できるすばらしい作品を見つけた場合は、常に寄付を検討してください。

4
サイドバーのウィジェットの数を制限する
ウィジェットのスポットの数が限られている(設計上)カスタムウィジェット化領域(フッターなど)を使用する場合、ユーザーが特定のウィジェット化領域に含めることができるウィジェットの数を制限できますか?ソリューションがバックエンドにあるかフロントエンドにあるかは関係ありません。ありがとうございました。
17 widgets  sidebar 

1
登録されているすべてのサイドバーのリストを取得する
各カテゴリ(カテゴリごとに個別のウィジェットスペース)のサイドバーを自動的に登録しています。私が使用しているテクニックはこちらです。 管理者側には、登録済みのすべてのサイドバーのドロップダウンを表示する必要があるオプションページがあります...登録済みのサイドバーのこのリストを動的に取得する方法はありますか?functions.phpに登録されているため、データベースではなくメモリ内にあると想定しています。 グローバル変数に登録したサイドバーを追跡できましたが、プラグインが独自のサイドバーを登録した場合に備えて、それらも考慮したいと思います。 必要に応じてコアを掘り下げますが、誰かがすぐに知っているかもしれないと考えました:) ありがとう


2
WPメディアアップローダーは3つの異なるサイズの画像をどのように作成し、どのように複製できますか
いよいよ!! このことを手に入れたのは、約12回の方法と12の異なる方法で試しましたが、ようやく機能するようになりました。 画像をアップロードして投稿に添付するためのカスタムメタボックスを作成しました。WPに組み込まれている恐ろしいシックボックスメディアアップローダーを使用する必要はありません。嫌いです。いいえ、私がしたことは、入力のグループ(タイトル、説明、ファイル)だけです。必要に応じて添付ファイルを追加するために複製することもできます。そのため、フィールドに入力し、アップロードする画像を選択して、下書きを保存するか、投稿を公開します。投稿に添付ファイルが追加されると、メタボックスには入力フィールドと、追加した各添付ファイルの添付画像のプレビュー画像が表示されます。タイトルと説明のフィールドは、ファイルメタデータを生成するために使用されますが、私が知っているpost_metaとしては何も保存されません。現在、私がこれまで取り組んできたのはそれだけです。 投稿を保存/公開するときに、添付ファイルをアップロード/作成するときに、デフォルトのwpアップローダーと同じように3つの画像サイズ、サムネイル、中、大を作成し、フルサイズの画像も保持するようにする必要があります。それがどうにか可能なら。そうでない場合は、別の方法でadd_image_size()新しいカスタムサイズを作成/定義し、アップロード時に代わりにそのように生成したいと思います。 この場合にどの関数を使用するのが最も理想的かはわかりません。おそらく、image_make_intermediate_size()関数の方が優れているか、wp_create_thumbnail()またはwp_crop_image()...誰が知っているか!! wp_handle_upload()それぞれについて関数を実行する必要がある場合、またはおそらくwp_generate_attachment_metadata()関数に。3つの画像サイズが同じ添付ファイルのバリアントとして関連付けられるため、それをどのように実行するのか、私にとって混乱しています。 私はウェブを精査し、すべてのwpメディア/アップロード/画像関連ファイルのソースを読み、メディアアップロード用のほぼすべての機能でプレイしましたが、WPが3つの画像サイズを作成する方法や方法を見つけることができませんそれ自身。 wp-includes / media.phpのimage_resize()関数は、まさにそのとおりであるため、最適であるように見えます。私は自分の人生のために私が何を失っているのか、またはやってみましたが、画像のサムネイルを作るのは間違っていたのかわかりません。 以下は、wp_handle_upload()物と物事を処理する私の作業関数ですが、100pxのサムを作成し、500pxのような最大幅の画像のサイズ変更バージョンを作成し、アップロードされたものの新しいファイルとして保存する必要があります。 function update_attachment(){ global $post; wp_update_attachment_metadata( $post->ID, $_POST['a_image'] ); if( !empty( $_FILES['a_image']['name'] )) { //New upload require_once( ABSPATH . 'wp-admin/includes/file.php' ); $override['action'] = 'editpost'; $url = wp_handle_upload( $_FILES['a_image'], $override ); // $medium = image_make_intermediate_size( $uploaded_file['url'], 500, 400, true ); // …

2
URLから画像を取得し、注目画像/投稿サムネイルとして設定する方法
Vimeo IDを指定すると、Vimeo Simple APIを介してビデオからサムネイルを取得できます。ページがロードされるたびにAPIを呼び出すのではなく、save_postフックを使用して投稿サムネイルとして画像を設定します(この質問に似ています)。 私の問題は、PHPでのURL呼び出しに慣れていないことです。私が知りたいのですが: curlと比較しWP_Httpたカールのような方法を使用することの利点/欠点 一方が他方より「優れている」のでしょうか? 投稿サムネイルを正常に設定するために関数を呼び出す順序。 どんな助けも大歓迎です。

4
最も信頼できるプラグイン開発者は誰ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 注:質問、および質問または回答の左側にある上矢印をクリックして、役に立つと思う回答に投票してください。 そこには非常に多くのプラグインがあります。私たちが常に信頼できるプラグインは誰ですか? プラグインページへのリンクとともに、完全に信頼できるプラグイン作成者のリストを共有してください。 この質問は、functions.phpファイルのコードのベストコレクションをモデルにしています

2
画像中心のカスタム投稿タイプを作成しますか?
画像中心のカスタム投稿タイプを作成するためのヒントはありますか? 詳細を説明するために、私のブログには、以下に示す回転ヘッダー画像があります。 左上の2つの画像はランダム化されており、これらの画像を含むためにのみ存在する特定のページへの添付ファイルとして存在します。カスタムの投稿タイプを使用して、これらを別の方法で保存することが可能かどうか疑問に思っています。新しい投稿タイプ「header-image」を作成しました。ここからどこに進むべきかを考えています。各ヘッダーイメージ「投稿」に1つのイメージ添付ファイルが必要です。ページからランダムな画像を取得する代わりに、ヘッダー画像投稿タイプからランダムな投稿を取得します。これを考えると、 「新しいヘッダー画像」管理ページから利用できる添付プロセスに簡単なインターフェースを組み込むにはどうすればよいですか? 投稿のタイトルとコンテンツ入力ボックスを削除して、そのページを整理できますか? 目標は、現在のアップロードプロセスへのより良いインターフェイスを作成し、最終的に画像を左画像/右画像としてフラグ付けする分類法を作成できるようにすることです。(上の画像を見ると、右側の写真が他の写真の顔を覆っていることがわかります。左側および/または右側のディスプレイに写真をマークすることでこれを回避できます。)後者の場合は問題ありません前者を実装できます。 更新:ここでの回答に基づいて、このセットアップを実装することができました。完全なコードは以下に掲載されています。


4
カスタム投稿タイプのページが「見つかりません」
他のプロジェクトで問題なく正常に使用したコードを使用して、2つの新しいカスタムポストタイプを作成しました。1つ目はtop_charts、もう1つは、と呼ばれ、case_studies両方が管理メニューに正しく表示され、新しい投稿を作成できます。 残念ながら、新しい投稿は表示されません。404.php返事が来ました。 をarchive-top_charts.php表示できるかどうかを確認するためにを作成しましたが、404.php「ページが見つかりません」という返信が表示されます。 私はもともとカスタム投稿top-chartsとに名前を付けましたcase-studiesが、ハイフンが問題である可能性があると考えたため、代わりにアンダースコアを使用するように名前を変更しました。助けにはなりませんでした。 パーマリンクを再保存しようとしましたが、何も変わっていません。私の.htaccessページもあなたが期待するもののように見えます(そして、他のページは問題なく動作します)。他に何を確認できますか?

4
プラグインで使用される関数を廃止する方法は?
プラグインで使用している関数の1つは、(別のプラグインで使用されている)別の関数と衝突する可能性のある名前でグローバルスコープを汚染することです。だから、私はそれを廃止すべきだと思います。しかし、それについてどうすればよいですか? function foo() { echo 'bar'; } 私は承知のだ_deprecate_function()が、私は私のプラグインのコアから機能を除去するために取るべきすべての手順を示す一例に感謝することでしょう。 参照:https : //developer.wordpress.org/reference/functions/_deprecated_function/

1
親がアクティブだったときにカスタマイズされた設定を子テーマに再適用するにはどうすればよいですか?
シナリオ 2015テーマを選択します。背景画像、ヘッダー画像、サイト名、キャッチフレーズなど、さまざまな設定をカスタマイズします。 ただし、テーマのファイルの内容には触れないでください。 使用コーデックス」チャイルドテーマ 2015年のテーマの最低限の子テーマを作成します。 新しい子テーマをアクティブにします。 おっとっと? この最小限の子テーマがアクティブになっているサイトは、親テーマとはまったく異なって見えます。背景とヘッダー画像がなくなり、すべての種類のサイドバー(またはヘッダー)ウィジェットがアクティブ化されていましたが、これらは2015年の親テーマではアクティブではありませんでした(デフォルト)。 2015テーマ用にカスタマイズされたいくつかの設定を備えたサイトの元の外観: 2015年のテーマから派生した子テーマから見たサイトは、必要なヘッダーstyle.cssのみを持ち、CodexのChild Themeページで提案されているスタイルのみをキューに入れますfunction.php。 質問 子テーマをアクティブにすると、親テーマのカスタマイズとデフォルトが維持されるようにするにはどうすればよいですか? この場合:ヘッダーと背景画像、およびデフォルト(サイドバー/ヘッダー)ウィジェットの削除(非アクティブ化?)。 ノート すでに重いカスタマイズされたテーマの子テーマを作成することは、重複しているように聞こえるかもしれませんが、テーマのファイルを編集してカスタマイズすることです。 この質問は、子テーマをアクティブにするとき、どのコア設定をリセットする必要がありますか。カスタムメニューなど?私が何を望んでいるのかを正確に尋ねているようです。残念ながら、唯一の答えは機能の不一致について推測していますが、これは私には当てはまらず、同じ効果に対するOPのコメントを拾いませんでした。 私も見ました 子テーマをアクティブにするとき、どのコア設定をリセットする必要がありますか。カスタムメニューなど?。関連していますが、私の質問には答えていません。 これ: テーマがアクティブになったときにテーマカスタマイザ設定を登録する[複製]も関連しているように見えますが、私が望むものに対処していません。 また、次の項目の重複としてマークされた質問もありません:Settings APIはテーマインストールのデフォルト設定を有効にしますか?これは、子の親テーマの設定を再利用または再適用することではなく、子テーマの設定を保存することに関するものです。

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