WordPress

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


10
WordPressプラグイン開発-ヘッダー送信済みメッセージ
WordPressプラグインを開発しています。プラグインをアクティブにすると、次のメッセージが表示されます。 プラグインは、アクティベーション中に予期しない出力の293文字を生成しました。「ヘッダーは既に送信されています」というメッセージ、シンジケーションフィードの問題、またはその他の問題に気づいた場合は、このプラグインを無効にするか削除してみてください。 プラグインは非常にうまく機能していますが、なぜこのメッセージが表示されるのかわかりません。私のプラグインは:http : //wordpress.org/extend/plugins/facebook-send-like-button/

4
外部の「ディレクトリサービス」とのSSO /認証の統合
クライアントのプロトタイプの作業を開始しようとしています-必要な機能の1つは、社内のユーザー認証/登録システムとの統合です。 このシステムは権限のあるユーザーデータベースとして機能し、新しいユーザーを作成し、有効なユーザーを認証するためのRESTfulインターフェイスを提供します。 WPで新しいユーザーを作成し、そのプロセスの一環として外部認証APIを呼び出して、そのユーザーを作成/検証する必要があります。 有効なユーザーであるがWPに知られていない人は、WPサイトに自分で登録する必要なく、ログインしてコメントできる必要があります。 Webサイト全体にログインしている人もWordPressに自動的にログインする必要があります。 私は次のことが進むべき道だと考えています。 (1)の場合-使用できる登録フックはありますか? (2)-認証フィルターをフックすると仮定しています-つまり、誰かがログインしようとすると、私はそれをトラップし、外部システムに呼び出しを行い、WPログインを処理するか、登録プロセスにリダイレクトします1)エルを取る。 (3)の場合-メインサイトによって設定されたログインCookieを読み取り、(2)に進みますか? ユーザーとusermetaテーブルにもレコードを挿入する必要があると思います。 だから、上記は理にかなっています-私は何かについて考えていませんか?誰もがこれを支援するための優れたリソースを手に入れました(@hakre-あなたはこれについていくつかの仕事をしたことがわかりました!!)。 更新 だから私はまだこれに少し頭を打ち続けている、本質的に私は認証フィルターにフックしようとしていて、それを使って: 「マスター」サイトのログインCookieが設定されているかどうかを確認し、設定されている場合、認証APIに対して再検証し、有効な場合wp_signon()、マスターサイトCookieに含まれる情報(電子メールおよびハッシュ化されたパスワード)を使用してWPログインを強制しますWPの資格情報として Cookieが設定されていない場合は、マスターサイトのログインページにリダイレクトし、ログイン/サインアップを取得してから手順1に戻ります。 認証されたマスターサイトユーザーが存在するときにWPユーザーがいない場合は、作成してから「透明な」サインオンを作成します(つまり、ユーザーにWPログインフォームが表示されない) 基本的には、主にコメントするだけのユーザーに対してWPログインフォームを完全に非表示にし、後で作成者と管理者が直接アクセスできるようにする方法を見つけたいと思います。 それはかなりゆっくりと進んでいます、ここに私がいくつかの助けを使うことができるものがあります: 認証フィルターは正しいものですか?それは私が期待するすべての状況で呼び出されるようではありません-例えば、メタウィジェットは認証フックの起動なしでログイン/ログアウトリンクを表示します オブジェクトwp_signon()を返すことができWP_Userます(成功を示す)が、ログイン状態には影響しません。つまり、更新後もメタウィジェットは「ログイン」と表示されます。 ありがたいことに受け取った助け:)

5
JoomlaやDrupalでWordPressでできないことはありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 彼らはそれが良いと言われたので、私はJoomlaを使いたいクライアントがいます。私は、WordPressがはるかにユーザーフレンドリーなオプションであることを彼らに納得させようとしています。 私はJoomla(およびDrupal)で1度プレイしたことがありますが、学習曲線が非常に急勾配であることがわかりました(おそらくそれらの用語があいまいなためです)。私は自分自身をかなり技術に精通していると考えており、もしそれが難しいと感じた場合、技術的な能力の低いクライアントはそれをさらに曖昧で学習するのが難しいと思うでしょう。 これまでのところ、WordPressではできなかったクライアントが必要とするものにまだ出くわしていませんが、それを伝える前に、これが事実であることを確認したかったのです。 JoomlaやDrupalでできること、WordPressでできないことはありますか(特にWP 3+のカスタム投稿タイプで)。


3
外部jQuery / JavascriptファイルをWordPressにリンクする方法
だから、次のWPテーマのベースにStarkersを使用していて、小さな問題に遭遇しました。header.phpファイルに自分のバージョンのjQueryを含めていましたが、Firebugを使用してサイトを検査すると、jqueryが2回ダウンロードされていることに気付きました、私は少し掘り下げて、ファイルを含めるだけでなく、wp_head()関数も含めていることに気付きました。 この問題を解決しようとして、ヘッダーファイルにコメントがありましたが、そのコメントはTwenty Tenテーマに由来しています。 /* Always have wp_head() just before the closing </head> * tag of your theme, or you will break many plugins, which * generally use this hook to add elements to <head>, such * as styles, scripts, and meta tags */ だからここに私の問題があります、私はjQueryファイルをそれを使用したい他のファイルの前に設定するwp_head()必要があり、それが<head>要素の最後のものでなければならないという印象を受けています、私は思っているので少し混乱していますwp_head()WPに含まれるjQueryファイルがすべてのプラグインで使用されるように、先頭に配置します。 wp_head()関数内のjQuery行をコメントアウトしましたが、管理ページに必要なので、元に戻す必要がありました。 また、jQueryのGoogle CDNバージョンを使用して(少なくとも実験的に)使用したいのですが、2回は含めたくありません! 私が説明しようとしていることを理解していただければ幸いです。この問題をどのように解決できるかについての提案をいただければ幸いです。また、JavaScriptファイルをヘッダーファイルでどのように処理するかについてのアドバイスも歓迎します。 ありがとう!

3
query_posts()が非推奨としてマークされないのはなぜですか?
query_posts()技術的に言えば、2つの機能があります。1つquery_posts()は実際にWP_Query::query_posts()あり、もう1つはグローバルスペースにあります。 正気から尋ねる: グローバルquery_posts()がその「悪」である場合、なぜ非推奨ではないのですか? または、なぜとしてマークされていません_doing_it_wong。

4
シリアル化されたオプションをプログラムで更新する方法は?
プラグインオプションの更新を自動化したい。何度も繰り返すことがあります。 wp-cliの私は、このような単純なオプションを更新することができます知っています: php wp-cli.phar option update blog_public 1 ただし、一部のプラグインオプションは、シリアル化された文字列でオプションを保存します。 wp_optionsのシリアル化されたoption_valueの例: a:9:{s:4:"from";s:21:"xx@xxx.com";s:8:"fromname";s:51:"xxx";s:4:"host";s:13:"smtp.xx.com";s:10:"smtpsecure";s:3:"ssl";s:4:"port";s:3:"465";s:8:"smtpauth";s:3:"yes";s:8:"username";s:21:"xx@xxx.com";s:8:"password";s:13:"xxx";s:10:"deactivate";s:0:"";} これらのオプションを更新する方法は?
15 options  wp-cli 


2
プリティURLからデフォルトのパーマリンク構造を取得します
カテゴリページまたは任意のページから1つの投稿をクリックすると、そのリファラーのURLを取得して解析し、クエリ文字列を取得できます。しかし、これはデフォルトのパーマリンク構造でのみ機能します リファラーがカテゴリページの場合の例: A var_dump( parse_url( wp_get_referer() ) );は、デフォルトのパーマリンク構造で次の出力を提供します array(4) { ["scheme"]=> string(4) "http" ["host"]=> string(9) "localhost" ["path"]=> string(11) "/wordpress/" ["query"]=> string(5) "cat=7" } にvar_dump()設定されたパーマリンクと同じで/%postname%/、これはあなたが得るものです array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(9) "localhost" ["path"]=> string(32) "/wordpress/category/uit-my-lewe/" } pathコードの2番目のブロックからを使用get_category_by_path()できます。カテゴリオブジェクトを取得できます 私の問題は、分類法の用語についてこれをどのように行うかです。 私はテストをしました。カスタム分類法がありevent_catます。私はそれを書き換えた場合event-slug、私は次の取得path使用して/%postname%/パーマリンク構造として /wordpress/event-slug/5-star/ そして event_cat=5-star デフォルト構造を使用する 自動的に分類名はURLに含まれず、用語のスラッグだけになります。したがって、これは用語からオブジェクトを取得するフェイルセーフな方法ではありません。 私の質問は、クエリ文字列を取得するデフォルトのパーマリンク構造を適切に取得する方法、または/%postname%/パーマリンク構造からクエリ文字列または分類法と用語名を取得する方法です
15 permalinks  urls 

3
the_contentおよびis_main_query
フィルターでコンテンツをフィルタリングしていthe_contentます。すべてが完璧に機能しますが、私の変更はカスタムクエリにも適用されるという抜粋です。ウィジェットがカスタムクエリを使用している場合、私の変更もサイドバーに表示されます それに対抗するために、私はis_main_query()メインクエリのみを対象にしていますが、機能していません。変更はすべてのクエリにそのまま適用されます。面白いのは、次のような他のすべての条件チェックis_single()、is_category()特定のページをターゲットにすると機能することです。ただし、使用するかどうかにis_main_query()かかわらず、すべての変更はそのページの他のカスタムクエリに影響します。 ここに何かが欠けていますか?the_contentフィルターのみを使用してメインクエリに変更を適用する方法 add_filter('the_content', 'custom_content'); function custom_content($content){ if(is_main_query()){ // << THIS IS NOT WORKING // My custom content that I add to the_content() } return $content; }

2
WPメディアモーダルウィンドウで添付ファイルを削除する
重複したファイルを検出し、古い重複が見つかった場合は新しいファイルを削除するために、WPモーダルメディアウィンドウでオプションを作成しようとしています。次のコードが( 'attachment_fields_to_edit'フィルターと共に)動作して、重複ファイルの選択を解除し、メディアモーダルで元のファイルを選択しています。ユーザーがボタンをクリックすると、元のファイルが削除されます(または、少なくともメディアライブラリウィンドウで非表示にして後で削除できるようにします)。 ( function( $ ) { var _AttachmentDisplay = wp.media.view.Settings.AttachmentDisplay; wp.media.view.Settings.AttachmentDisplay = _AttachmentDisplay.extend({ render: function() { _AttachmentDisplay.prototype.render.apply(this, arguments); currentselection = this.controller.state().get('selection').first().toJSON(); selection = this.controller.state().get('selection'); $('button.dmc').on('click', function(e){ e.preventDefault(); var id = $(e.currentTarget).data("id"); if(currentselection.id == id) { currentattachment = wp.media.attachment(id); selection.remove(currentattachment); console.dir(wp.media.view.Attachment); newattachment = wp.media.attachment($(e.currentTarget).data("original")); selection.add(newattachment); } }); } }); } …

2
画像サイズに基づいた画質
画像サイズに基づいて画質を設定することは可能ですか?大きな画像では画質を向上させたい(80)-小さなサムネイルでは画質を低下させたい(30)。 私はadd_sizeそれを制御するパラメータを期待していました-しかし、何もありません。 重要な場合:ImageMagickを使用しています。
15 images 

3
user_loginとuser_nicename
get_users()関数を呼び出すと、ユーザーオブジェクトのリストが返されます。これらの各ユーザーには、多くのプロパティがあります。違いは何であるuser_loginとuser_nicename、各ユーザー用のもの返されるプロパティでは?そして、これらの2つのプロパティのどちらがURLに表示されますか?(私の場合、両方のプロパティが同じだからです!)。
15 users  user-meta 

4
WP 3.8の管理メニューアイコンにDashiconsを使用してCPTを登録する
WordPress 3.8はプラグインMP6をコアに導入し、Dashiconsと呼ばれるアイコンフォントを使用してダッシュボードにフォントを表示します。 今、register_post_typeには'menu_icon'、CPT管理メニューエントリのカスタムアイコンを指定できる引数があることをよく知っています。 プラグイン/テーマでは、3.8管理メニューの背景が明るいため、通常は暗いカスタムアイコン画像でその引数を使用することがよくあります。WP 3.8のデフォルトの暗いメニューの背景では、私のアイコンはほとんど見えなくなります。 それはさておき、CPTに新しいダシコンを使用するのはクールだと思います。 いくつかの調査の後、ダシコンのCSSを使用できることを知っています。 #menu-posts-mycpt div.wp-menu-image:before { content: "\f226"; } ただし、の'menu_icon'引数register_post_type と以前のcssの両方を使用すると、WP 3.8の両方のアイコンとWP 3.8の1つのアイコン+奇妙な文字'menu_icon'が出力されます。 私は条件付きで追加することができます知っている'menu_icon'でregister_post_typeWP 3.8-バージョンの条件付き3.8+ WPのため、以前のCSSを追加し、しかし: 登録されたすべての CPTにいくつかのコード(2つの条件ステートメント)を追加する必要があるため、プラグイン/テーマの更新は大変な作業です 私にはエレガントなソリューションよりも回避策のようです したがって、質問は次のとおりです。 WP 3.8+でdashicons cssを使用'menu_icon'し、登録されたすべてのCPTに条件2を追加することを含まない「簡単な」方法で、以前のバージョンのparamを介してセットアップされたカスタムイメージを使用できますか? そして、もしそうなら、追加のコードなしで直接何らかの魔法の方法でそれを行うことは可能register_post_typeですか?

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