WordPress

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


1
(一部の)アップロード/ダウンロードへのアクセスを制限する簡単なソリューション
最初の状況 私が設定しているサイトでは、アップロード/ダウンロードを保護し、ユーザーの役割/機能に基づいてそれらへのアクセスを制限するという分野全体を調べていました。もちろん、私はここで(一般的な)トピックに関連する以前の質問のいくつかを読みました。参照の理由から、私が見つけた最も重要で興味深いものを参照します。 ユーザーがログインしていない場合にアップロードを保護する方法 アップロードされたファイルへのアクセスを制限するには? 特定のフォルダ内のファイルへのアクセスを制限する メディアのアップロードをプライベートにする方法は? PHPダウンロードスクリプトを `functions.php`にマージ 補足事項 一般に、ワードプレスのインストールのセキュリティをさらに向上させることは悪い考えではありません-たとえば、あなたの保護wp-config.php-あなたができる、そしてすべきことはたくさんあります。やり方はたくさんあります。私は主に私のアップロード/ダウンロードについて懸念しているこの質問のコンテキストにいます。 WordPressのアップロードは保護されていません。uploads次のようにして防止しない限り、誰でもフォルダを参照できます.htaccess。 Options All -Indexes .htaccessファイルには、内側に配置する必要があるuploadsフォルダ。しかし、それはそれらを実際に保護することではなく、単にファイルを見つけることを難しくします。さらにhotlinking、に基づいて本質的にアクセスを制限することもできますreferrer-これは少し異なるケースですが、私はそれについて言及しましたが、これ以上詳しく説明しませんが、それに関する多くの情報を見つけることができます。 もちろん、投稿を非公開にしたり、適切なテンプレートファイルを使用してカスタム投稿タイプを作成したりして、その投稿タイプを非公開にすることもできますが、これはファイルを保護しません。is_user_logged_in()またはのような条件文でファイルをラップする場合も同様is_admin()です。 余談ですが、ファイルを安全に保護することを約束しているプラ​​グインはたくさんありますが、それらの多くはそうするふりをしているだけです。その理由のいくつかは上記にあります。誰もが知っているわけではないと確信しているので、私はそれを指摘しているだけなので、注意してください。 目的 私の意図は、(一部の)アップロードとダウンロードへのアクセスを制限できるようにすることでした。そして、偶然ではなく、または誰かがファイル名を知っている場合を除いて、不要な人がアクセスできないようにするために、ファイルは本当にプライベートで安全でなければなりません。結局のところ、特定の人だけが例外なくアクセスできるはずです。 さらに、私はサイト全体を民営化する必要はありませんでした。実際、それは逆効果です-それは公開プレゼンテーションの目的で使用されます。さらに、私はこのソリューションを簡単に使用できるようにしたいと考えました。これは、よくあることですが、それを扱う人々の一部が正確にはコンピュータの専門家ではないという単純な理由のためです。 質問 したがって、質問は、(一部の)アップロードとそれぞれのダウンロードへのアクセスを制限する(比較的)簡単な方法はありますか?そして、私が実施したように、それは本当にそれらを保護し、安全にする方法を意味しますか?

2
カスタム投稿タイププラグイン:テンプレートはどこに配置しますか?
カスタム投稿タイプのプラグインを書いています。その一部は、ショートコードを介してテンプレートに出力しています。しかし、他のパーツにはカスタム投稿テンプレートが必要であり、CPTのテンプレート階層を使用する方法を理解しました。しかし、カスタムテンプレートはテーマに含まれており、プラグインは少なくとも最初から自己完結型である必要があると思います。 ここでのベストプラクティスは何ですか?テンプレートファイルをCPTプラグインに含めるにはどうすればよいですか?これがどのように行われるかについて、特に良い例を教えてもらえますか? ご協力いただきありがとうございます。

3
現在のカテゴリに子があるかどうかを確認する
表示している現在のカスタム分類アーカイブページに子カテゴリがあるかどうかを確認する必要があります。子供がいるカスタムカテゴリがたくさんあり、サイトは行の最後に投稿を表示するだけの状況です。それ以外の場合は、次のステップであるカテゴリへのリンクが表示されます。このスニペットは見つかりましたが、カスタム分類では機能しないようです。 function category_has_children() { global $wpdb; $term = get_queried_object(); $category_children_check = $wpdb->get_results(" SELECT * FROM wp_term_taxonomy WHERE parent = '$term->term_id' "); if ($category_children_check) { return true; } else { return false; } } <?php if (!category_has_children()) { //use whatever loop or template part here to show the posts at the …

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
カスタム投稿タイプのアーカイブページが表示されない
私のウェブサイトに「プロフィール」というカテゴリがあります。現在、このカテゴリを「プロフィール」というカスタム投稿タイプに移動しています。 私の問題は、このカスタム投稿タイプのアーカイブページを表示できないことです。URLにアクセスするmywebsite.com/profilesと、プロファイルカテゴリの投稿の単一の投稿ページに移動します。 に含まhas_archive = true;れていますfunctions.php 同じWebサイトで行った別の種類のカスタム投稿のアーカイブページを作成するのに問題はなかったので、今回はなぜこれが機能しないのか本当にわかりませんでした。 何かアドバイスをいただければ幸いです。 add_action( 'init', 'profile_custom_init' ); /* Here's how to create your customized labels */ function profile_custom_init() { $labels = array( 'name' => _x( 'Profiles', 'post type general name' ), // Tip: _x('') is used for localization 'singular_name' => _x( 'Profile', 'post type singular name' …

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

2
何千人ものユーザーのためのWordPress usermetaスケーリング
WordPressユーザー管理と統合されたクライアント用のCRMプラグインを開発し、各ユーザーの追加情報をwp_usermetaテーブルの下に保存しました。 しかし、クライアントの顧客データベースが指数関数的に成長している、と我々はに今ある何千もの私たちにいくつか与え、数千人の数十の行をwp_usermeta:私は心配され始めています。この時点で、スケーラビリティこのアーキテクチャ。 このようなユーザー数をWordPressで管理した経験はありますか?列にwp_users依存するのではなく、列をテーブルに追加する必要がありますwp_usermetaか?この段階でWordPressと自分のコードパフォーマンスを診断/プロファイルするにはどうすればよいですか? 私はこれほどの量のデータをこれほどの割合で処理したことは一度もありません。

2
WordPress mysqliおよびPDO
WordPressコードベースはmysqliまたはPDOを使用しますか? PDOはmysqliよりも優れていますが、mysqliも悪くありません。さらに、PDOがmysqliより優れている(つまり、データベースにとらわれない)機能の1つから、WordPressは常にmysqlサーバーを使用するため、WordPressに大きな意味はありません。しかし、paramsをデータ型にバインドすることはPDOがサポートするものですが、mysqliはサポートしておらず、それは良いことです。 WordPressはmysqliを使用しているが、コードベースではまだそれを確認できなかったようです。 私の2番目の質問は、WordPressがmysqliを使用しているかどうか、それは速度の問題のためか、それとも以前の時代(WPが開発されていたとき)に戻ったためか、PDOはまだそこにありませんでしたか?
11 mysql 

2
jquery-ui-datepickerの組み込みスタイル
WordPressに同梱されているデートピッカーをウェブサイトのフロントエンドで利用したい。キューに入れましたjquery-ui-datepickerが、日付ピッカーのスタイルが設定されていません(コンソールにjsエラーはありません)。それに対応するものはありwp_enqueue_styleますか? 私はこのコードを使用しました functions.php function rr_scripts() { wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'jquery-ui-datepicker', array( 'jquery' ) ); wp_register_style( 'bootstrap_css', get_template_directory_uri() . '/assets/css/bootstrap.min.css' ); wp_enqueue_style( 'bootstrap_css' ); # I'm using Twitter Bootstrap as CSS(if it matters) } add_action( 'wp_enqueue_scripts', 'rr_scripts' );

4
画像の配置オプションを追加する
まれなイベント-WordPressで何かしたいのですが、どうすればいいのかわからず、文字通り何も検索されません。 画像を投稿に挿入すると、 'none'、 'left'、 'right'、 'center'の配置オプションが表示されます。これらの結果、 'alignleft'、 'alignright'、 'aligncenter'などの配置に関連するCSSクラスが画像に挿入されます。 すごい。 テーマがもう少し複雑で、コアオプションと同じように、挿入された画像に新しいCSSクラスを追加するだけのオプションをいくつかここに追加したい場合はどうなりますか?たとえば、いくつかのより複雑なレイアウトを取得するために、いくつかの豪華なCSSでスタイルを設定できる「右マージン」オプションはありますか? 私がどこから始めればよいかについての指針はありますか?
11 images 

1
Woocommerce:製品に「作成者」を割り当てます
私はウーコマースの最初のテーマを開発しています。 「作者」(実際には「デザイナー」)をウーコマース製品に割り当てられるようにする必要があります。それは実現可能ですか?ワードプレスの組み込み「著者」ユーザーを使用することを考えていましたが、「投稿」編集インターフェースとは異なり、製品編集のインターフェースには「著者」ボックスがありません。
11 author  plugins 

2
元の画像の最大幅をどのように設定できますか?
ケース: デジタルの世界についてあまり知らないクライアントがいます。しかし、彼女が知っているのは、写真を彼女のカメラからコンピュータとWordPressに取り込む方法です。しかし、彼女は写真を通常のサイズに縮小する方法を知りません。 解決策: WordPressで、背景の写真を最大幅1024pxに自動的に縮小します。 問題: 設定で最大幅を設定できますが、$ content_widthを設定でき、「add_image_size」で新しい画像サイズを追加できます。元の写真は、引き続き元のサイズでアップロードフォルダーに保存されます。ハードディスクの空き容量が簡単にいっぱいになることを意味します。 質問: WordPressで元の画像を縮小するには(functions.phpに何を入れればよいですか(最大幅より大きい場合))?
11 media  images 

4
リモートサーバーに画像をアップロードする
Wordpressメディアアップローダーを使用して画像をアップロードしていますが、ローカルサーバーではなくリモートサーバーにアップロードする方法があるかどうか疑問に思いました。例:私のワードプレスブログはサーバーAでホストされており、メディアアップローダーを使用してサーバーAではなくサーバーBに画像をアップロードしたいと考えています。 どちらのサーバーもnginxをウェブサーバーとしてUbuntu 10.04 LTSを実行しており、どちらもftpとsftpをサポートしています。

2
投稿タイプごとに異なる引数を持つクエリを組み合わせる
2つの異なる投稿タイプを1つのループにマージし、それらをランダムに表示するサイトにセクションを構築しています。問題は、タイプごとの投稿数を制限する方法を見つけるのに苦労していることです。 これが私が試したものです: 複数の投稿タイプを持つ1つのクエリは、配列で実現できます。 $args = array( 'post_type' => array( 'photos', 'quotes' ), ... ...しかし、タイプごとの特定の数の投稿に制限することはできません。 WP_Queryを実行する前に、2つのクエリ引数配列をマージします。 $photos = array( 'post_type' => 'photos', 'posts_per_page' => 15, 'orderby' => 'rand' ); $quotes = array( 'post_type' => 'quotes', 'posts_per_page' => 5, 'orderby' => 'rand' ); $args = $photos + $quotes; // Also tried array_merge( …

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