WordPress

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

2
muプラグインプラグインで、カスタム投稿タイプのflush_rewrite_rulesを使用する最良の方法は?
(とりわけ)カスタム投稿タイプをインスタンス化するプラグインを書いています。これはマルチサイトプラグインであり、mu-pluginsディレクトリにあります。 この状況でflush_rewrite_rules()を処理するためのベストプラクティスは何ですか?「通常の」プラグインの場合、これはアクティベーションフックで行います。これらのフックは使用できないため、必須のプラグインでは不可能です。 これはカスタム投稿タイプを登録した後の「1回限りの」イベントであるため、CPTを登録するクラスで次のようなことを行うのは理にかなっています。 private function check_flush_my_CPT() { global $wp_rewrite; if ( !get_option('my_plugin_firstrun') ) { $wp_rewrite->init(); $wp_rewrite->flush_rules(true); update_option('my_plugin_firstrun', 'yes'); } } public function register_my_CPT() { // do all the CPT setup steps for the $args array... register_post_type('my_CPT', $args); $this->check_flush_my_CPT(); } add_action( 'init', array(&$this, 'register_my_CPT' ) ); したがって、CPT登録はすべての「init」アクションで発生しますが、この権限がある場合、書き換えルールのフラッシュは1回だけ発生します。 これまで。 私は正しい軌道に乗っていますか? (編集):試してみたところです。私のCPTは404 not …

4
WordPressメニューにJavaScriptを追加
WordPressメニュー項目のURL部分にJavaScriptを配置する方法はありますか?私のサイトにはライブチャット機能があり、このコードをサイトに配置して、ライブチャットを開くためのリンクを作成することになっています(ここで提案されています)。 <!-- BEGIN OLARK CHAT LINK --> <a href="javascript:void(0);" onclick="olark('api.box.expand')"> Click here to chat! </a> <!-- END OLARK CHAT LINK --> クライアントは、WordPressダッシュボードのWordPressメニューを使用して作成されたユーティリティナビゲーションバーのリンクを必要としています。しかしjavascript:void(0);" onclick="olark('api.box.expand')、WordPressダッシュボードのURLボックスにコピーして貼り付けると、表示されなくなり、リンクは非アクティブのままになります。 私が読んだ何かは、おそらく私は問題のリンクにカスタムクラスを置き、そのクラスとのリンクがクリックされたときに起動するJavascript関数を書くことができると言いました。私はそれを試してみましたが、動作させることができませんでした。私はJavascriptをあまり知らないので、それを完全に間違って書いていた可能性があります。 誰でもこれを行う方法を知っていますか?プラグインを使わずにやりたいです。

2
$ wpdb-> get_results()によって生成されたエラーの検出
$ wpdb-> get_results()を使用しているときにエラーを検出するにはどうすればよいですか? 例えば: $result = $wpdb->get_results("SELECT * FROM this is not a valid query"); 上記のコードは例外やエラーを生成しません。$ resultを空の配列に設定するだけです。get_results()によって生成されたエラーを確実に検出するにはどうすればよいですか?
9 database  wpdb  errors 

1
header.phpからテンプレートおよびその逆に変数を渡す
変数を定義しました-呼び出しましょう$header_var。これはheader.phpファイルに配置されています。この変数をテンプレートファイル(この場合、taxonomy.php)に渡したいのですが。 また$template_var、taxonomy.phpからheader.phpにを渡すなど、他の方法でも同じことができるようにしたいと思います。 ヘッダーが読み込まれると変数が宣言されなかったため、これは可能ですか? 私はグローバルを使用しようとしました$header_varが、運がありませんでした。 助言がありますか?

5
子テーマを取得して最新バージョンのstyle.cssをロードできません
正しく設定された子テーマを使用しています。しかし、Childテーマstyle.cssの変更をサイトに反映させることができません。ブラウザーキャッシュを100万回空にしようとすると、機能しません。 私は子テンプレートファイルを作成しましたが、親テンプレートファイルを上書きします。 私はビューのソースに次のようにスタイルシートの最後にバージョン番号を付けることに気づきました:-私はバージョンを作成していませんが、style.css?ver = 3.9.1! 私が作成した別のサイトでは、スタイルシートのバージョン管理がないので、設定したくないときに自動的にスタイルシートに入れられるのはなぜですか。 どのように強制して、子のstyle.cssファイルの最新バージョンを使用し、バージョンを使用しないようにできますか? これが私のサイトのURLです:-http: //www.peterswebservices.co.uk/

1
改行付きのpost_content
改行を含むpost_contentを取得できるようにしたい。それを行う最良の方法は何ですか? 以前は、各投稿に共有ボタンを追加するプラグインをインストールする必要があるまで問題なく機能していたthe_content()を使用していました。 それ以来、私のthe_contentの出力には、共有ボタンからのテキストが含まれています。 テンプレートファイルに出力する必要のある正しいコンテンツを含むpost_contentsを使用しようとしましたが、問題は改行が削除されたことです。 改行を保持したままpost_contentを取得することは可能ですか? ありがとう

2
フィルターwp_nav_menu()
ナビゲーションを3つの単一のナビゲーションバー(レベル1、レベル2、およびレベル3+)に分割しようとしています。3つは、サイト上で分離されており、現在のページによってのみ表示されるためです。 -0-------1--------2-------3+- level/depth Home | |\___ Lobby | |\___ Projects | |\___ Project A | | |\___ Review | | |\___ Comments | | \____ Download | \____ Project B | |\___ Review | |\___ Comments | \____ Download |\___ Blog | \____ About |\___ Legal \____ Contact レベル1を含む最初のナビゲーションバーは常に表示されます。2番目のナビゲーションバー(レベル2)は、対応する親ページに現在いる場合のみ。同じことが3番目のナビゲーションバーにも当てはまります(レベル3以上。このナビゲーションバーにはレベル3のサブページとサブサブページも含まれるためです)。 つまり、すべての親メニューをナビゲーションバーに表示し、現在のページの直接の子だけを表示したいのです。 …

1
カテゴリページに現在のカテゴリタイトルを表示する
カテゴリテンプレートで次のコードを使用しますが、現在のカテゴリページを表示する代わりに、最初の投稿の最初のカテゴリを表示します。たとえば、Foodカテゴリページでは、Foodと表示されますが、最初の投稿のカテゴリがデザートであるため、代わりにDessertsと表示されます。こちらがサイトhttp://theveganproject.ca/wp/category/food/ add_action ( 'genesis_before_content', 'sk_show_category_name' ); function sk_show_category_name() { $category = get_the_category(); if (is_category()) { echo '<div id="cat-name">' . $category[0]->cat_name . '</div>'; } }

2
ポート8080から80へのWordpressリダイレクト接続
Ubuntu 12.04のapache2(ポート80)とnginx(ポート8080)で提供されるワードプレスブログがあります。これで、クライアントがポート80経由で接続するときは常に問題が発生しますが、クライアントが8080に接続して同じブログを表示すると、接続はApacheにリダイレクトされます。なんでこんなことが起こっているの?私は周りを検索しましたが、これはすべての接続をダッシュ​​ボードで設定されたサイトURL(デフォルトではポート80)にリダイレクトするというWordpressの制限であることがわかりました。 これを回避する方法はありますか?ポート8080への接続は、apacheではなくnginxによって提供されること / etc / nginx / sites-enabled / wordpressの内容 server { listen 8080; root /var/www; index index.php index.html index.htm; server_name abc.com; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; deny all; } error_page 404 /404.html; error_page 500 502 503 …

1
ホームページで(meta_queryを使用して)通常の投稿タイプとカスタム投稿タイプを混在させる
これを達成する方法がわかりません。サイトのホームページで標準の投稿とカスタムの投稿を混在させようとしていますが、メタ値が設定されている場合にのみカスタムの投稿を表示します。投稿の表示は'post_type' => array('game', 'post')正常に機能しますが、meta_queryに追加すると、通常の投稿が表示されなくなります(meta_query条件を満たさないため、これは理にかなっています)。 では、通常の投稿が引き続き含まれるように、meta_queryをカスタム投稿タイプのみに制限するにはどうすればよいですか?

2
ThickBoxの交換
Media Uploaderで使用されているThickBoxの代替品を探していますが、残念ながら失敗しました。 Media Uploaderの活用方法に関する検索は失敗し、モーダルウィンドウに使用されるスクリプトについては何も起こりません。 誰かが私を助けてくれますか?Media Uploaderが使用しているのと同じモーダルを使用する方法はありますが、ThickBoxで可能だったようにカスタムコンテンツをその中に配置する方法はありますか?

2
インストール全体で一貫性のない一時的な404が発生する| post-template.phpでのPHPエラー
私はこれに深く混乱しています:Media Temple GSにWordPressをインストールしました(多くは正常に動作し、ほぼ同じように設定されています)。これが発生すると、PHPエラーログに3つのエラーが一緒に記録されます。 [01-Nov-2013 22:20:50 UTC] PHP Notice: Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line 275 [01-Nov-2013 22:20:50 UTC] PHP Notice: Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line 209 [01-Nov-2013 22:20:50 UTC] PHP Notice: Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line …

2
組み込みのWordpressの「リンクの参照」機能を使用するにはどうすればよいですか?
私はウィジェットをコーディングしていて、通常の投稿またはページを編集するとき(小さなリンクアイコンをクリックしてポップアップにAJAX検索機能が表示されるとき)にできるように、ユーザーがリンクを選択できるようにしたい)。誰かがこれをどのように機能させるか知っていますか?アタッチしてクリックするHTMLボタンと、値を入力するフィールドがあります。 class-wp-editor.phpでいくつか興味深いものを見つけ、これらのファイルが必要かどうか疑問に思いました。 wp_enqueue_script('wp-fullscreen'); wp_enqueue_script('wplink'); fullscreen.link();上記のファイルと同様に、呼び出し時にこのエラーが発生します: Uncaught ReferenceError: wpActiveEditor is not defined ..そして、今のところ困惑しています。その変数を参照するJSは私には頭がおかしいからです。 正しい方向に向けてくれませんか?私はこれを動作させたいと思っています。それは私のウィジェットのためのキラーユーザーインターフェースを作るでしょう! ------編集------- これまでのところ、私が以前に述べたスクリプトのインクルードを除いて、それほど多くのコードはありません。 <label for="<?php echo $this->get_field_name('link'); ?>">Link URL (including http://) : </label> <input type="text" id="<?php echo $this->get_field_id('link'); ?>" name="<?php echo $this->get_field_name('link'); ?>" value="<?php if(isset($link)) echo esc_attr($link); ?>" class="widefat" /> <button class="secondary" id="choose_link">Link Browser</button> ..リンクスクリプトを開くトリガーとなるJSの部分。 linkBrowserButton.on("click", function(e){ e.preventDefault(); …


3
プログラムでユーザーを作成するときにユーザーアクティベーションメールを送信する
ここの誰かが手伝ってくれるのかしら。 基本的に、検証時にユーザーをユーザーテーブルに挿入するカスタム登録フォームを作成しました。 function _new_user($data) { // Separate Data $default_newuser = array( 'user_pass' => wp_hash_password( $data['user_pass']), 'user_login' => $data['user_login'], 'user_email' => $data['user_email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'role' => 'pending' ); wp_insert_user($default_newuser); } 今、私がする必要があるのは、次のコードで実行できる確認メールを送信するのではなくです。 wp_new_user_notification($user_id, $data['user_pass']); 代わりにユーザーアクティベーションメールを送信します。いくつか試しましたが、具体的なものを見つけることができないようです。誰かが以前にこの問題を抱えていたことを願っています。

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