WordPress

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

2
カスタム投稿タイプのアーカイブおよび分類ページにコンテンツを追加しますか?
「Products」という名前のカスタム投稿タイプと「Usage」という分類法があります。「製品」のランディングページで、クライアントがWYSIWYGを介して編集できるカスタムコンテンツを希望します。分類のランディングページについても同様です。私の考えは、偽のページを作成し、ID経由でコンテンツを私のarchive-products.phpおよびtaxonomy-usage.phpテンプレートにプルすることでしたが、それを処理するより良い方法があるかどうか知りたいと思いました。

2
ドメインのパーマリンクへのマッピング(マルチサイトではない)
(マルチサイトではなく)スタンドアロンのWPインストールでこれを実行しようとしています。私が達成しようとしているのは: ユーザーdomain.comはusermetaに保存します。(完了) ユーザーが新しいCPTを作成しますcompany。デフォルトでアクセス可能original.com/company/example-company(完了-デフォルト) domain.com/company/example-companyusermeta domainが設定されているときにも、ユーザーが作成したすべての投稿を利用できるようにする必要があります。 DNSとドメインが現在のWPインストール(無関係)を指す必要があることを理解していますが、ドメインをパーマリンクにマップする方法がわかりません。 アルゴリズムはこのようなものでなければなりません companyCPT単一ページが表示されるかどうかを確認します。 作成者がドメインを設定したかどうかを確認します。 domainが設定されている場合は、パーマリンクを変更します。

2
WordPress cronジョブはページの読み込みを遅くしますか?
ユーザーがサイトを訪問し、その訪問が非常に集中的なcronジョブをトリガーした場合、ページの読み込み速度が遅くなりますよね?ページはcronジョブの実行を待たずにロードされますが、cronジョブは並行して実行されるため、サーバーがビジー状態であるため、ページのロードが遅くなる可能性があります。
8 wp-cron  cron 

1
プラグインクラスの関数の廃止
私は自分のプラグインの1つを更新していますが、廃止予定の機能に少し行き詰まっています。 元々、私のプラグインにはグローバル変数があり、プラグインのメインクラスはインスタンス化され、グローバル変数に格納されていました。このように、ユーザーはグローバルを使用してプラグインクラスの関数にアクセスできます。 $GLOBALS['my_custom_plugin'] = new my_custom_plugin(); 次に、たとえば、私のFAQに、特定のフックからクラスの関数の1つを削除し、別のフックに追加する方法を示すコードがありました。 function move_input(){ global $my_custom_plugin; remove_action( 'before_main_content', array( $my_custom_plugin, 'display_input') ); add_action( 'after_main_content', array( $my_custom_plugin, 'display_input' ) ); } add_action( 'wp_head' , 'move_input' ); 今、私の更新では、display_input()関数は別のクラスに移動されており、それにアクセスする方法を人々に知らせたいと思います。(メインプラグインクラスの)元の関数を次の廃止通知で置き換えてみました。 public function display_input() { _deprecated_function( 'display_price', '2.0', 'my_custom_plugin()->display->display_input' ); return $this->display->display_input(); } ただし、add_actionおよびremove_action関数は非推奨通知をトリガーしないようです。奇妙なことに、関数が完全に削除されても、array( $my_custom_plugin, 'display_input')存在しなくてもエラーは発生しません。 誰かが関数に直接アクセスしようとした場合: $my_custom_plugin->display_input(); 次に、デバッグ通知が表示されます。これは期待される結果_deprecated_function()ですか?または私は何かを逃していますか?廃止された関数を使用してアクションを削除または追加しようとしたときにデバッグ通知を表示することは可能ですか? 更新 …

1
ウィジェットでwp_category_checklistを使用する
ウィジェットでwp_category_checklistを使用して、保存時にチェックされたままのチェックボックスのリストを表示しようとしています。保存していないことを確認している限り、現時点でそれらを保存するのにひどい問題があります(チェックボックスはチェックされていません):- ここに私が現時点で持っている編集されたコードがあります。 function update($new_instance, $old_instance) { $instance = $old_instance; $instance['widget_categories'] = $new_instance['post_category']; return $instance; } function form($instance) { $instance = wp_parse_args( (array) $instance, $default ); $categories = get_categories(); $category_array = $instance['widget_categories']; if (!$category_array) { $category_array = array(); } ?> <ul class="categorychecklist"> <?php wp_category_checklist(0,0, $category_array,false, NULL , false);?> </ul> <?php } …

3
パーマリンクでadd_query_argを使用してきれいなURLを取得する方法
でadd_query_arg()、それはいいですURLにパラメータを追加し、それが書き換えルールを作成することも容易であるします。ここまでは順調ですね。しかし問題は、ワードプレスによって行われるURLの置換です。 次のようなURLがある場合: www.mysite.com/?page_id=1&myvar=test パーマリンクがアクティブになっているブラウザーのアドレス行にこのURLを入力します。このリンクは次のようになります。 www.example.com/pagename/?myvar=test しかし:私が得たいのは: www.example.com/pagename/test 最後に、次のようなコードを使用したいと思います。 <a href="<?php add_query_arg( 'myvar', 'test', get_permalink() ) ?>"> .... </a> その結果: www.example.com/pagename/test どうすればこれを達成できますか?文書を読むのに何時間も費やしましたが、解決策が見つかりませんでした。

3
WordPressの画像エディターダイアログオプションを変更する方法
投稿コンテンツ領域にアップロードされた画像の[配置]ラジオボタンを非表示にしようとしていますが、[画像エディター]ダイアログにカスタムCSSまたはJSファイルを追加する方法がわかりません。 TinyMCEテキストエディターから配置ボタンを削除するフィルターをtiny_mce_before_initアクションフックに正常に追加しましたが、画像エディターで同じようにする方法がわかりません。 私はjQueryハックを試しましたが、それは取るようではありません: $('.mceWrapper iframe').load( function() { $(this).contents().find('tr.align').hide(); });

1
カスタム分類法にカテゴリと同じ用語(スラッグ)を付けることはできませんか?
カテゴリとタグに同じ用語(用語のスラッグ)を含めることができないことは知っていましたが、驚いたことに、今日気付いたように、カスタム分類法の場合もそうです。 たとえば、私のサイトにというカテゴリがあり、Linux (linux)「Linux」というカスタム分類用語も作成したい場合、それはのようLinux (linux-2)になります。つまり、スラッグは異なる必要があります。 また、スラッグの名前をに戻そうとするとlinux、「スラッグ「linux」はすでに別の用語で使用されています」というエラーが表示されます。 カテゴリ/タグとカスタム分類の下で同じ用語を使用することは可能ですか? 問題を再現するには? 3〜5件の新しい投稿を作成します。新しいカテゴリとタグを作成し、それらをそれらの投稿に割り当てます(テスト目的のみ)。 パーマリンク設定を保存します。 前に作成したカテゴリとタグと同じ名前とスラッグで、カスタム分類の下に2つの新しい用語を作成し、それらをカスタム投稿タイプの下の新しい投稿に割り当てます。 カスタム分類を削除します。 それらを再作成してみると、「スラッグ「XXX」はすでに別の用語で使用されています」というエラーが発生します。 時々それは問題を複製しました、時にはそれはしません。 だが... 同じ名前とスラッグでカテゴリ(またはタグ)とカスタム分類法を作成できる場合は、それを実行します。次に、そのうちの1つを名前変更すると、カテゴリ(またはタグ)とカスタム分類の両方の名前が変更されます。

2
テーマからプラグインディレクトリを取得する
誰かがテーマのfunctions.php内からプラグインディレクトリパスを取得する非ハッキングな方法を知っていますか? plugin_dir_path(FILE)を使用しましたが、テーマのfunctions.phpで呼び出されているため、そのファイルへのパスを返します。プラグインディレクトリではありません。文字列を操作してプラグインパスを追加することもできますが、パス全体をハードコーディングするのとほとんど同じように感じません。 私はそれを使ってそれを働いています: require_once( ABSPATH .'/wp-content/plugins/ehu-events/event-widget.php' ); しかし、私はそれがとても古風で間違っていることを知っており、おそらくそれを使用するためにワードプレスコミュニティから敬遠されるでしょう! これに使用できる標準のワードプレス機能はありますか?

3
WordPress設定API、カスタムメニューページにタブを実装
私はこの男のWordPress設定APIチュートリアルシリーズをフォローしています。 http://wp.tutsplus.com/tutorials/theme-development/the-complete-guide-to-the-wordpress-settings-api-part-1/ これまでのところ、私は基本的なことに成功しています。今、タブを実装するとき、私は問題に直面しています。 問題1:タブが機能しない。すべてのフィールドが両方のタブに表示されています。セクション1はタブ1に、セクション2はタブ2に表示されます。 問題2:オプション2が保存されていません。タブを実装する前は問題なく動作していました。 コード: /* ----------------------------------------------------------------------------- */ /* Add Menu Page */ /* ----------------------------------------------------------------------------- */ function add_my_menu() { add_menu_page ( 'Page Title', // page title 'Menu Title', // menu title 'manage_options', // capability 'my-menu-slug', // menu-slug 'my_menu_page', // function that will render its output get_template_directory_uri() . '/assets/ico/theme-option-menu-icon.png' // …

2
WordPress AJAX APIでのバックボーンの使用
私はBackboneを使用して単純なTODOプラグインを構築しようとしており、AJAX APIで問題が発生しました。正しいAJAXコールバックを取得するには、次のように "action"パラメータを渡す必要があります。 admin-ajax.php?action = get_todos これは、バックボーンのGETメソッドで正常に機能します。ただし、DELETEバックボーンを使用すると、デフォルトで次のようなURLが使用されます。 admin-ajax.php?action = get_todos / 9 ここで、「9」は削除される仕事のIDです。このIDを追加すると、WordPress側のAJAX呼び出しが中断されます。各メソッドのURLを手動でオーバーライドできますが、AJAX APIをBackboneと連携させるよりエレガントな方法があるかどうか知りたいです。 私が実行した特定の問題を示すデモプラグインを作成しました。設定ページを読み込み、ネットワークインスペクタを見ながらXをクリックして、WordPressからの0値のAJAX結果を確認します。 https://github.com/hereswhatidid/wordpress-todo-backbone-demo

2
Woocommerce製品のタイトルにサブタイトルを追加します
Pagelines Frameworkで構築されたサイトでWooCommerceを使用しています。サイトのどこにでも、商品名の下にサブタイトル/カスタマイズ可能なフィールドを表示する必要があります。現状では、WooCommerceはそのオプションを提供していません。 私はカスタムフィールドを使用しようとしましたが、WooCommerceもこれらを使用し、不要なものをサブタイトルと共に出力します。カスタムフィールドに "bookauthor"という名前を付けた場合、このコードは必要なカスタムフィールドのみを表示するように機能しますか? <?php echo get_post_meta($id, "bookauthor", true); ?> もしそうなら、フロントエンドの製品タイトルの直後に新しいフィールドを出力するにはどうすればよいですか? 私はこのphpファイルで必要なフックを見つけました(私はphpがわからないと思います。そのため、私はあなたに尋ねています)。 <?php /* * @hooked woocommerce_template_single_title - 5 * @hooked woocommerce_template_single_price - 10 * @hooked woocommerce_template_single_excerpt - 20 * @hooked woocommerce_template_single_add_to_cart - 30 * @hooked woocommerce_template_single_meta - 40 * @hooked woocommerce_template_single_sharing - 50 */ ?> フィルターで除外する方法は知っていますが、カスタムフィールドをそのリストに追加するにはどうすればよいですか? または、私が必要とするものを達成するためのまったく異なる方法はありますか? 助けることができる誰にも不変の感謝。

2
ページの背景画像としての注目画像
ダッシュボードを使用してページに注目画像を追加し、それをページのコンテナーdivの背景画像として使用したいと思います。CSSで背景画像を適用したいので、マークアップ内にスタイル属性を配置することを考えています。私はこのようなものを作ることを考えています: <div id="<?php echo $post_name; ?>" class="page<?php echo $post_id; ?>" style="background: url(<?php wp_get_attachment_image_src( get_post_thumbnail_id(), 'large' ); ?>) !important;"> しかし、残念ながらこれは機能していません。 出力を確認すると、次のようになります。 background: url() !important; これの何が問題になっていますか?助言がありますか?ありがとう!

1
WordPressテーマとPHPユニット
WordPressテーマでPHPユニットテストを使用する例はありますか?コアユニットテストはTracの一部であるため、このトピックに関する多くのブログは古くなっていますが、昨夜、Tracをプルしてサンプルを設定しようとしましたテストを実行するテーマ。それは静かな仕事ではありません、あなたはあなたのテーマをテストするためにすべてのテストを実行する必要があり、たとえあなたがファイルを試して要求する場合でも-WordPressがインスタンス化されて巨大な混乱になる前にそれを要求しようとします。 いずれにせよ、テーマユニットテスト用のプラグインがあることは知っていますが、テーマを「試行」して破壊する大量の投稿をインストールするだけです-基盤となるロジックはテストしません-特にフレームワークを構築する場合-phpユニットはここに最適ですコードのさまざまなオプションと実装をすべてテストできます。 テーマ内でPHPunitを実行する方法はありますか?

3
投稿のリビジョンを一括削除する最も安全な方法
私のクライアントの1つは、投稿数とトラフィックの点でかなり大きなブログを利用しています。私は彼女のデータベースを扱いやすいサイズに縮小しようとしています。そして、増大していることの1つは文字通り数万のポストリビジョンです。 私はすでにWordpressの構成を設定して、将来のリビジョン数を2つに制限しています: define('WP_POST_REVISIONS', 2); しかし、私はすべての既存のリビジョンを削除したいと思います。 質問1:post_typeがrevisionであるwp_postsテーブルのすべての行を直接削除しても安全ですか?(私はこれについて矛盾する回答を見てきました—しかし、安全であれば、この方法でそれを実行できるようになりたいです)。 質問2: ...と私は必要がある場合にのみreleventではありませんただ、質問1から簡単な削除を実行します。 songdogtechが安全に削除するデータベースクエリを提供するこの回答を見つけましたが、(1)これは特にマルチサイトの質問(これは単一サイトです)への回答であり、(2)サイトをデータベースの変更を含む3.6にアップグレードしました。(つまり、データベースクエリを読んで、そこで何が起こっているのか、そしてそれがWP 3.6の単一のサイトで機能するかどうかを正確に理解するのに十分なスキルはありません

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