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

新しい機能を作成するためのテーマおよびプラグインファイルの変更。

3
WordPress Webサイトの回帰テストのベストプラクティスですか?
こんにちは、みんな、 自動化された回帰テストに使用しているプラ​​ットフォームとしてWordPressを使用して、クライアントにブログ以外の複雑なソリューションを提供している他の人の意見を聞きたいのですが。 「回帰テスト」という用語に慣れていない人のために、ウィキペディアでは次のように定義しています。 回帰テストとは、プログラムを再テストすることにより、プログラムの変更(バグ修正や新機能など)が行われた後にソフトウェアエラーを発見しようとする、あらゆるタイプのソフトウェアテストです。回帰テストの目的は、バグ修正などの変更によって新しいバグが発生しなかったことを確認することです。 ウィキペディアによると、次のように語っています。これは、私が現在プロジェクトで経験していることです。 ソフトウェアが修正されると、新しい障害の出現や古い障害の再出現が非常に一般的であることが経験により示されています。修正が貧弱な改訂管理慣行(または改訂管理における単純な人為的ミス)によって失われるため、再出現が発生することがあります。多くの場合、問題の修正は、最初に観察された狭いケースでは問題を修正しますが、ソフトウェアの寿命にわたって発生する可能性のあるより一般的なケースでは修正しないという点で「脆弱」です。多くの場合、ある領域の問題を修正すると、別の領域でソフトウェアのバグが発生します。最後に、いくつかの機能が再設計されると、その機能の元の実装で行われたのと同じ間違いのいくつかが再設計で行われた場合がよくあります。 アクションとフィルターのグローバルな性質により、クライアントが要求する機能を追加するにつれて複雑さが増し始め、特にWP_Queryデータベースへの呼び出しを頻繁に使用してデータベースを頻繁に更新する場合、複雑なプラグインを安定させるのが難しくなります。 私の考えでは、一連の「テストケース」を使用して回帰テストを設定し、「テストスイート」を構成します。概念的には、HTTP GETリクエストのHTML出力をテストするのはそれほど難しくありません。ただし、管理コンソール経由でログインしたり、jQueryの相互作用をテストしたりするときにテストする必要がある場合は、少し複雑になります。 ここでベストプラクティスを収集できることを期待して、これをコミュニティWikiとして設定していますが、他のWordPressの専門家が使用している場合は、プロセスを聞くのが本当に心配です。

2
プラグインにインラインCSSを含めても大丈夫ですか?
通常、プラグインではwp_enqueue_styleを使用してスタイルを追加します。ただし、現在、CSSの数行のみを必要とするプラグインを作成しています。スタイルをインラインで提供してリクエストを保存する方が良いのではないかと考えています。明らかにwp_enqueue_styleを使用することには多くの利点がありますが、このような小さなCSSを追加でリクエストする価値はありますか?この分野で受け入れられている「ベストプラクティス」はありますか?

3
カスタムプラグインページアクションを最適に処理するにはどうすればよいですか?
私は常に同じ悩みにぶつかっていますので、アイデアや経験があるかどうか見てみたいと思いました... 独自の管理ページを使用するプラグインを作成しました。しなければなりません。WP_List_Table()を整理したので、それは素晴らしいと言わざるを得ません...しかし.... カスタムプラグインページadmin.php?page=...は、プラグインディレクトリから直接ロードする場合を除き、常にロードされますが、そうではありません。そのページから「アクション」を実行する場合、どういうわけかそれを処理してから、アクションパラメーターなしでページにリダイレクトする必要があります。GETまたはPOSTを実行しても、実際には関係ありません。 内部ページすべてで、WPは同じページでこれを行い、アクションがあるかどうかを確認し、アクションがある場合はそれを処理し、アクションなしで自分自身にリダイレクトします。これらのページでadmin-headerはまだロードされていないため、これは可能です。 ただし、自分のページで実行しようとすると、管理インターフェイスの半分が既にブラウザに送信されているため、リダイレクトはもうできません。明らかに、解決策は、別のページに直接POST / GETし、その上にWPフレームワークをロードし、処理を行ってから元のページにリダイレクトすることですが...しかし...それは少し面倒です...ページはコールバック経由でロードされるため、クラスのメソッド内で実行されます。美しいです。 別のページを読み込むと、手動でwp-load.phpクラスの外に追加する必要があり、クラスの外にいますが、これは迷惑であり、特にバグがあります。これは、プラグインクラスを匿名でインスタンス化するだけで誰にもアクセスできないためです外部から。 それで、この長い話の後に...だれかが管理インターフェイス全体を既にセットアップせずに、コールバックを介して別のページを読み込むための良い解決策を思いつきましたか? (回避策を知っています... load-....アクションパラメーターをチェックし、処理とリダイレクトを行う関数にフックすることができます。しかし、もっと良い方法があるかどうか疑問に思っています。) ありがとう。

1
開発コピーでサイトを更新し、その後、ライブサイトの進化するデータベースを上書きせずに更新を元に戻すにはどうすればよいですか?
私はタイトルをできるだけ説明的にしようとしましたが、この質問はさまざまな形で以前に尋ねられたことを知っていますが、それに対する良い答えを見つけることができず、誰もこの問題を解決していないことを想像しています。 WPサイトが公開されると簡単です。静的サイトではない場合、新しい投稿、新しいwoocommerce注文、新しいユーザーアカウントなどを追加してデータベースを更新し続けます。 サイトに大きな変更と更新を行う場合、これを行う最も簡単で簡単な方法は、ローカルインストールまたは別の開発ドメインのいずれかにコピーを作成し、そこですべての変更を行うことです。すべての変更が完了したら、ライブサイトにコピーして戻します。 テーマやcssなどの変更がファイルのみの場合、それはいくぶん簡単です。ただし、新しいプラグインの追加や、これらのプラグインに接続/関連するコンテンツの追加など、変更にデータベースの変更が含まれる場合、ライブに追加された新しい変更を上書きするため、サイトをコピーして戻すことはできなくなりましたサイトのデータベース。すべての新しい投稿、新しい注文、新しい画像のアップロードはすべて消去されます。 今、私はさまざまなケースシナリオにさまざまなソリューションがあることを知っていますが、すべてのケースに対処する方法はありませんか? たとえば、ライブサイトに加えられた変更が新しい投稿のみであった場合、投稿をdevサイトにエクスポートおよびインポートしてから、サイト全体を移動できます。他のいくつかのアイテムと同じですが、すべての種類のアイテムではありません。これに関する他の問題は、wordpressのエクスポートおよびインポート機能がひどいことです。これは非常に初歩的なものであり、特定のアイテムのみを選択してエクスポートするオプションはほとんどありません。私はおそらくすべての「高度なインポート/エクスポート」プラグインを試してみましたが、この問題を解決するものはまだありません。 したがって、別のスレッドで、誰かがこのプラグインを指摘して、基本的にライブサイトにテーマをインストールして作業し、通常のユーザーには既存のテーマが表示されますが、それでもすべての種類の変更が解決されるわけではありません。コンテンツを変更したい場合、たとえばフッターまたはナビゲーションメニューを使用する場合、既存の表示可能なテーマ/サイトに反映され、新しいテストテーマでは問題なく表示されますが、実際のテーマでは表示されない場合があります。 同じサイト/データベースでサイトの「ブランチ」を開発してから切り替える方法はありませんか?または開発サイトで開発する方法はありませんが、実際に非破壊的な方法でデータベースをマージしますか?影響を受けたコンポーネントとものがわかっている場合、それを行う方法はありませんか?または、そのようなことを試みるにはMySQLマスターである必要があります。 この難問を抱えているのは私だけではありません。この問題の解決策がないとは想像できません。これをどのように行うことができますか? 前もって感謝します。

1
プラグイン用のAPIを作成する方法は?
私はWordPress用のプラグインを開発していますが、開発したほとんどのプラグインは2つまたは3つのクラスを使用しているため、BuddypressやWooCommerceほど大きくはありません。 他の開発者が機能をカスタマイズでき、それらのシステムがBuddypressおよびWooCommerceと同じである必要があるような複雑なシステム(現時点では詳細を共有できませんが、開発中に後で)を提供する2つのオープンソースプラグインを開発する予定です。 これらのプラグインファイルを確認すると、開発者が必要に応じて変更できる独自のアクションとフィルターが登録されていることがわかります。しかし、私の問題は、他の人が機能をオーバーライドするだけでなく、独自のプラグインを追加する柔軟性を持つプラグインをどのように書くべきかを完全に理解できないことです。 明確な答えを出すのは難しいことは知っていますが、正しい方向に進むには、何らかのスタートアップガイドが必要です。独自のアクションとフィルターを登録する必要がありますか?はい、どうですか?そうでない場合、私のオプションは何ですか? あなたのアドバイスは私を大いに助けます...ありがとう

5
CPTをデフォルトのホームページとしてどのように使用しますか?
私は、自分のサイトのサイトを構成するためにカスタム投稿タイプを多用するクライアントを持っています。しかし、私は彼らの要求されたホームページのための岩と難しい場所の間にいます。 実際には、ホームページはWordPress内の特定の「ページ」のスタックになります。基本的に、Intro、Blog、About Us、Portfolio、Contact Usのページがあります。それらはすべて互いに積み重ねられるので、あるページから別のページにスクロールできます。 私の最初の本能は、ページ(Homeと呼ばれる)を使用し、ページのスラッグを受け入れて適切な順序を出力するショートコード(つまり[pageOrder]intro, blog, about-us, portfolio, contact-us[/pageOrder])を埋め込むことでした。ページはカスタムページテンプレートを使用して、レイアウト、ループの制御、ページの左側へのナビゲーションの追加を行います。しかし、それはすべてぎこちないようです。 私の理想的なソリューションは、エンドユーザーがドラッグアンドドロップでページを配置し、CPTがレイアウトやナビゲーションなどを処理できるようにするカスタム投稿タイプ(Stackと呼ばれる)を作成することです。 私の理想的なソリューションの問題は設定です。WordPressでは、サイトのデフォルトのホームページのページを選択できます。しかし、それは投稿タイプのpageに結びついており、ユーザーがデフォルトのホームページとしてスタックを選択できるように、それを変更するためにどこにフックするかわかりません。 それで、デフォルトのホームページの利用可能なページのドロップダウンにCPTを追加するためにどこにフックしますか?

4
シンボリックリンクされたディレクトリのプラグイン?
プラグインを開発するとき、異なるwp-contentディレクトリにあるプラグインディレクトリをシンボリックリンクすることにより、複数のバージョンのWordPressでテストします。ファイルを一度編集するだけなので、これは素晴らしいことですが、プラグイン内のリソースへの参照を生成するための重要な構造を壊します。__FILE__物理プラグインの場所を参照しwp-contentます。どうすれば解決できますか? 私のディレクトリ構造は次のようになります。 /path/to/wordpress/development/dir/ plugin-development/ monkeyman-rewrite-analyzer/ monkeyman-rewrite-analyzer.php js/ monkeyman-rewrite-analyzer.js versions/ 3.1/ wp-content/ plugins/ monkeyman-rewrite-analyzer 上記のプラグインへのシンボリックリンクとして 3.1-multi-dir/ wp-content/ plugins/ monkeyman-rewrite-analyzer 上記のプラグインへのシンボリックリンクとして 3.1-multi-domain/ wp-content/ plugins/ monkeyman-rewrite-analyzer 上記のプラグインへのシンボリックリンクとして Javascriptファイルをエンキューしたい場合、を使用する必要がありますplugins_url( 'monkeyman-rewrite-analyzer.js', [base file] )が__FILE__、実際のファイルパスは/path/to/wordpress/development/dir/plugin-development/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.phpでなく/path/to/wordpress/development/dir/versions/*/wp-content/plugins/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.phpであるため、ここでの使用は機能しません。したがって、WordPressは最初の部分を削除して、WordPressインストールに関連するURLを生成できません。

3
map_meta_capフィルターの使用とは何ですか?
map_meta_capフィルターの使用とは何ですか?このフィルターはどこにも文書化されていません。私はそれが何であるかについて不明確な考えを持っています ユーザーの権限を投稿の操作にマップするために使用されます。 正確には何を意味するのでしょうか?可能であれば、正しい使用法のサンプルコード例をいくつか示してください。

7
単純な検索と置換を行うSQLクエリ
新しいWebサイトを作成するたびに、まず「stage.domain-name.com」のようなサブドメインにステージングサイトを作成します。 すべてが正常に動作した後、データベースをエクスポートし、notepad ++で開き、「subdomain.domain-name.com」の検索/置換を実行して、「domain-name.com」に置き換えます...最後に新しいデータベースにインポートしますライブサイトのデータベース。 私の質問は... phpmyadminを使用してデータベース全体でこの単純な検索/置換を実行したい場合、どのSQLクエリを実行する必要がありますか? -CH


1
ナンバーポスト?ショーポスト?posts_per_page?
そのため、Codexのドキュメントでは、showpostsが非推奨であることは明らかです。しかし、その同じドキュメントはナンバーポストについては何も言及していません。代わりに、posts_per_pageがリストされます。 しかし、get_postsのCodexドキュメントに目を向けると、posts_per_pageの言及はなく、代わりにnumberpostsが引用されています。 でpost.php我々は何が起こっているのか見る:numberpostsがデフォルト(5)のように設定が、その後(posts_per_pageを引数に設定されていない限り)posts_per_pageにコピーされます。 だから私の質問は本当にかなりつまらないものですが、Codexを更新したいので皆さんに質問したかったです。posts_per_pageを全面的に奨励したくなくて、最終的にはナンバーポストを廃止したいのですか?または、ここでいくつかの重要な洞察が欠落していますか?

9
WordPressのクリエイティブな使用[非公開]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 WordPressが成長するにつれて、このテクノロジーを使用してより多くのサイトを作成することが可能になります。ページとパーマリンク構造によりCMSのパワーが得られ、カスタム分類法と投稿タイプがこれをさらに拡張して、時系列の投稿、ページ、任意のオブジェクト、プラグインがギャップを埋めます。 そのため、WPを使用して、ブログ、フォトギャラリー、およびWebサイトを強化できます。WordPressの強力な機能を活用した、これまでに見たクリエイティブな用途は何ですか?「それは WordPressですか?」と言ったサイトは何ですか?

3
複数のリレーションキーを持つネストされたmeta_query
Wordpressがネストされたを実行できmeta_query、それぞれが異なるリレーションキーを持つことができるかどうか興味がありますか?Wordpress 3.0では、tax_queryこの機能を実行できます。これにと同等のものがあるかどうか疑問に思っていmeta_queryます。 $results = query_posts( array( 'post_type' => 'event_id', 'meta_query' => array( 'relation' => 'AND', array( 'relation' => 'OR', array( 'key' => 'primary_user_id', 'value' => $user_id ), array( 'key' => 'secondary_user_id', 'value' => $user_id ) ), array( 'key' => 'date', 'value' => array( $start_date, $end_date ), 'type' => 'DATETIME', 'compare' …

2
WordPressコンテンツのローカライズのベストプラクティスは?
クライアントは、ローカライズされたコンテンツ(つまり、英語コンテンツの場合はen.blogname.com、フランス語コンテンツの場合はfr.blogname.comなど)を持つブログを求めました。このようなブログを作成するのは初めてでしたが、最近、ニーズに最適なWPMLとqTranslateを発見しました。 多言語ブログをセットアップするためのベスト/推奨プラクティスはありますか? この時点では、WordPressソフトウェアを翻訳する必要はありませんが、それが良いアイデアであることがわかった場合は、ぜひお知らせください。著者はすべて多言語(英語+他の1つの言語)になりますが、英語以外のスピーカーを後で雇うことも考えられます。

3
関数の前後のadd_action()、add_filter()
WordPress snippets / tutorials / pluginsを見るadd_action()とadd_filter()、関数が宣言される前によく表示され配置されます。 add_action( 'publish_post', 'email_friends' ); function email_friends( $post_ID ) { $friends = 'bob@example.org, susie@example.org'; mail( $friends, "sally's blog updated" , 'I just put something on my blog: http://blog.example.com' ); return $post_ID; } 論理的な観点から、これは私には意味がありません。コードで呼び出された後に関数を配置するのはなぜですか?これは通常、私が同じ状況をどのように処理するかです: function email_friends( $post_ID ) { $friends = 'bob@example.org, susie@example.org'; mail( $friends, "sally's …

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