WordPress

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

3
私が開発したテーマの将来の更新の必要性を監視するためのベストプラクティス?
私は最近、WordPressリポジトリに受け入れられるテーマを開発しました。ユーザーのためにこれを更新し続けたいです。テーマの更新の必要性を監視するための推奨される方法は何ですか?私の推測では、おそらくWordPressの主要なコアアップデートがあるたびに、非推奨の機能とデバッグなどのプラグインを使用してチェックする必要があります-これは正しい軌道にあるのでしょうか? 他の開発者は自分のテーマをどのくらいの頻度でチェックし、チェックに使用するプロセスは何ですか?多くの感謝、私は検索しましたが、どこにもこの情報を見つけることができません。

1
WordPressコアとプラグインを更新するためのIPアドレスホワイトリスト
ファイアウォールルールが非常に厳しいホストに基づいたサイトで作業しています。IPアドレスが明示的にホワイトリストに登録されていない限り、サイトで実行されているものは外部サーバーに接続できません。これらのアドレスをホスティング会社にメールで送信する必要があります。 Akismetは、安全なIPアドレスの便利なリストをここに提供します。これにより、私はそれを機能させることができました。ただし、wp-adminまたはWordPressプラグインディレクトリへのアクセスを介したWordPressコアの更新を許可するための同等のアドレスリストを見つけることができませんでした。(私はまだFTPで手動アップロードを行うことができます。) ホワイトリストの場所を知っている人はいますか、それともWordPressコアアップデーターとプラグインディレクトリのIPアドレスを教えてもらえますか? ありがとう
8 core  ip 

1
カスタムポストアーカイブのメニューアイテムの追加
カスタム投稿タイプ(project)を作成しましたが、完全に機能します。私はカスタムアーカイブページ(archive-project.php)を持っていますが、それもうまくいきますが、サイトのメインメニューでそのカスタム投稿アーカイブへのリンクを追加する最良の方法は何ですか? カスタムリンクを作成しました(以下を参照)が、それほどハードコーディングされていないより良い方法はありますか?

2
is_front_page()の誤動作?
私はかなり基本的な問題を抱えていますが、WPにはネイティブソリューションがないことに驚いています(何かを見落としているのでない限り)。 static page読書設定でフロントページを設定したWPサイトを持っています。プラグインコードで、WPがフロントページを表示しているかどうかを判断し$classes、そうである場合は配列にクラスを追加しようとしています。私はそれを達成するために次のコードを使用しています add_filter('body_class', function($classes){ if(is_front_page() || is_home()){ $classes[] = 'home-page'; } return $classes; }); 両方is_front_page()を使用していis_home()ますが、フロントページの設定が静的ページからブログレイアウトに将来変更される場合に備えて。 私が遭遇している問題は、このコードがページ上home-pageにbodyもクラスを追加することwp-signup.phpです。 コードを調べると、そのis_front_page()呼び出しが明らかになり、WP_Query::is_front_page()本質的にはの結果が返されますWP_Query::is_page(get_option('page_on_front'))。問題の根本は、なるようにwp-signup.phpページ(ID)としての資格によって返さget_option('page_on_front')(返すID設定でフロントページなどの静的ページセットの>が読み取ります)。 WP_Query::is_page()WP_Query::get_queried_object()内部的にを使用して、現在のページがメソッド引数に存在するページであるかどうかを判断します。でwp-signup.php場合、現在の問い合わせ対象オブジェクトを設定するコードは、次の通りであります /*...other code... */ elseif ( $this->is_singular && ! empty( $this->post ) ) { $this->queried_object = $this->post; $this->queried_object_id = (int) $this->post->ID; } /*...other code... */ これは、何らかの理由でワードプレスがフロントページにクエリを実行し、wp-signup.php次の質問を表示して提起することを示しています。 is_front_page()間違った結果が返されるのはなぜですか? 私の知る限りは、wp-signup.phpWordPressのコードだけで確認することで救済されていない理由を、次に設定Wordpressの管理者を使用して、ホームページとして設定することはできませんPHP_SELFかREQUEST_URI? $this->postこの時点でWP_Queryに現在のホームページがあるのはなぜですか? プラグイン(およびmu-plugins)ディレクトリを削除して、プラグインの問題を除外しました。それはまだwp-signup.php他のどのページにもないフロントページとして認められます。 この問題に関するヘルプは大歓迎です。 アップデート …


1
WordFenceでfail2banを設定する方法は?
私は、ブログの記事を見つけたことWordfenceを設定し、fail2banのが、それはかなりだについて協議無用の技術的な活動の言及がないよう。それだけで、作者は合計5時間かかりました。 Wordfenceを使用してfail2banを5時間以内にセットアップしたいと思います。そして、自分で理解し、より多くの時間をかけなければならない場合、他の人が5時間未満で実行できるように、それを文書化したいと思います。したがって、ここでの質問:Wordfenceでfail2banを設定する方法? クイックスタート: sudo apt-get install fail2ban wp plugin install --activate wordfence この投稿はすでにかなり便利に見えますが、Wordfenceについての言及はありません。
8 security 

1
WooCommerceメールテンプレートで製品の短い説明にどのようにアクセスしますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、上のトピックワードプレスの開発スタックExchange用。 5年前休業。 WooCommerceメール内の注文アイテムテーブル内の製品名の下に製品の短い説明を出力したいと思います。メールテンプレートファイル内のどこにコードを配置するかはわかっていると思いますが、アイテムの説明にアクセスする方法がわかりません。それを取得するメカニズムは見当たりません。フィールドをエコーするために何をする必要がありますか? 前もって感謝します!


1
特定のサイズの画像タイプを変更するにはどうすればよいですか?
グリッド内のページに大量(数十)の画像があるサイトを最適化しています。網膜をサポートするには、画像のサイズも2倍にする必要があります。 ぶら下がっている果物は、サムネイルの元のサイズではなく、サムネイルのサイズがロードされることを確認することでした(網膜のため、幅はかなり520pxです)。 ただし、ほとんどすべての画像はPNGで保存されます。これは、写真画像の無駄遣いです。生成されたサムネイルがJPGであることは理にかなっています...それを行う方法がないように見えることを除いて。 コアコードを見ると、最も近いように見えますWP_Image_Editor->get_output_format()が、簡単に調整して特定のサイズをターゲットにすることは、友好的ではないようです。 生成される画像のタイプを変更しようとするコードの他のポイントはありますか?

2
バックエンドのカスタム投稿タイプへのカスタムロールアクセスの許可
だから私はこれでいくつかの問題を抱えています、そして私は理由がわかりません。バックエンドでブログにアクセスできるカスタムロールが必要です。 機能タイプがの新しい投稿タイプと、blog管理者アクセスユーザーがカスタム投稿タイプを追加/編集できるようにするすべての大文字の新しいユーザーロールを追加しました。これは管理者にとっては機能し、バックエンドで投稿タイプにアクセスできます。ただし、私のカスタムロールのユーザーは、まったくバックエンドに入ることができません。 ノートの投稿タイプ引数 "capability_type" => 'blog', "map_meta_cap" => true, 役割を登録 function add_blog_manager_role(){ add_role( 'blog_manager', 'Blog Manager', array( 'read' => true, 'edit_posts' => false, 'delete_posts' => false, 'publish_posts' => false, 'upload_files' => true ) ); } add_action( 'admin_init', 'add_blog_manager_role', 4 ); キャップを追加 function add_blog_role_caps() { $roles = array('blog_manager', 'editor','administrator'); foreach($roles as …

3
なぜ配列($ this、関数)の中に関数をラップする必要があるのですか?
私はPHPとWordPressの初心者なので、優しくしてください。 プラグインを作成しています-いくつかのチュートリアルに従って、すべてを動作させます。 私の質問は、なぜ私が呼び出したい関数がラップされているのarray($this, function)ですか?たとえば、私は私のクラス内にこのコンストラクタコードを持っています function __construct() { add_action( 'admin_init',array( $this, 'getStuffDone' ) ); } getStuffDone関数は正常に起動しますが、なぜそれが含まれている形式でなければならないのですか? どんな洞察も大歓迎です。
8 php 

2
パラメータ付きの特定のフックまたは汎用フックを起動する方が良いですか?
開発者がアクション/フィルターを使用してフックできるフォームを処理するフォームプラグインを作成しています。 私のプラグインは、さまざまなフィルターのセットでさまざまなフォームを処理できる必要があり、これを行うには2つの方法があります。 方法1 各フォームの特定のフックの発射。 したがって、このようなコードは私のプラグイン内でフォームと呼ばれる可能性があります: $formId = 'contact'; $errors = apply_filters('forms_validate_' . $formId, $errors, $data); そして、次のように使用できます: add_filter('forms_validate_contact', function($errors, $data){ if(empty($data['name'])){ $errors['name'] = 'Name is required'; } return $errors; } 10, 2) 方法2 呼び出し元の関数にパラメーターを渡します。 したがって、このようなコードは私のプラグイン内でフォームと呼ばれる可能性があります: $formId = 'contact'; $errors = apply_filters('forms_validate', $formId, $errors, $data); そして、次のように使用できます: add_filter('forms_validate', function($formId, $error, $data){ switch($formId){ case …
8 plugins  hooks 

2
oEmbedが失敗した場合、代替を表示します
oEmbedが失敗したときに表示される代替画像を指定したいのですが。 具体的な使用例は、中国(または他の国)がYouTubeをブロックする場合の代替案を提供することです。YouTubeコンテンツが利用できないことは承知しておりますが、その場合は代替画像を提供したいと考えています。 この目的のためにoEmbedエラーコードにアクセスできるようにすることはできますか?
8 oembed 

1
2か月後に非アクティブなユーザーを自動的に削除する
この関数を変更しようとしています: // automatically delete users after 7 days in wordpress function wcs_auto_delete_users() { global $wpdb; $query = $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE datediff( now(), user_registered ) > 7" ); if ( $oldUsers = $wpdb->get_results( $query, ARRAY_N ) ) { foreach ( $oldUsers as $user_id ) { wp_delete_user( $user_id[0] ); …

1
子テーマ-functions.phpの「require_once」のオーバーライド
ワードプレスのテーマを子のテーマで変更しようとしています。私の親テーマのfunctions.phpには、次の関数があります。 require_once(get_template_directory() . "/includes/theme-styles.php"); これを変更して、独自のスタイルシートを含めるようにします。 require_once(get_template_directory() . "../child-theme/includes/theme-styles.php"); この関数を子テーマのfunctions.phpに含めることができますが、子テーマのfunctions.phpが最初にロードされるため、親テーマのrequire_once()が呼び出されないようにオーバーライド/防止する方法がありません。これを行う方法、または可能な回避策はありますか?ありがとう

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