タグ付けされた質問 「globals」

4
グローバル変数を設定および使用する方法は?または、それらをまったく使用しない理由
更新:元の質問は解決しましたが、これはグローバル変数を使用しない理由についての有効な議論に変わっているので、それを反映するために質問を更新しています。解決策は<?php global $category_link_prop; echo esc_url( $category_link_prop ); ?>@TomJNowellが提案したとおりでした。 更新2:私は今、私が望んでいたことを正確にやっている。しかし、私はまだグローバルスコープを使用しているため、より良い方法を見つけることができれば幸いです。 私は、テーマのさまざまな場所で使用されるカテゴリへのパーマリンクのグローバル変数全体を設定しようとしています。この主な理由は、メインナビゲーションと、現在の投稿のカテゴリに基づいて選択される一連のサブナビゲーションの両方で使用するためです。これは、他のユーザーが使用するためにリリースするテーマではありません。しかし、非常に特定の目的のために構築されています。 これが、私が現在それらを作成している方法です(いくつかの変数にのみ貼り付けました)。 function set_global_nav_var() { //proposal global $prop; // Get the ID of a given category $category_id_prop = get_cat_ID( 'proposal' ); // Get the URL of this category $category_link_prop = get_category_link( $category_id_prop ); $prop = '<a href="' .esc_url( $category_link_prop ). '" …
27 php  functions  globals 

3
方法:WordPressでグローバル変数を検査する
多くの場合、グローバルオブジェクト/変数からデータを取得する方法について人々は混乱しています。 質問:グローバル変数はどのような方法で検査できますか? このQは、WAで頻繁に必要になるために書かれました。ここにリンクするためのお気に入りにしたかっただけです(多くの場合、githubの要点リンクは見ていません)。 何かが間違っている場合、または説明に何かが欠けていると思われる場合は、例を自由に変更してください。他の便利なものを追加する場合は、それぞれを単一の回答として追加してください。ありがとうございました。
22 globals 

1
ポストグローバルを信頼する必要がありますか?
@toschoはこの答えにコメントを残しました。グローバルスコープ、特にポストグローバルについてはどの程度信頼する必要があり$postますか? だから何?グローバル変数は、チェックを実行する前に全員から上書きできます。それがグローバル変数のポイントです:グローバルアクセス。 $postたとえば、テーマ自体またはプラグインによって大部分が変更されるグローバルの1つです。それでも、たとえば関連する投稿を設定するために、特定のテンプレート内の他のアプリケーションで最も一般的に使用されるグローバルです。 カスタムクエリの使用に起因する特定の問題のいくつかの投稿への回答(およびコメント)から、ほとんどの問題はカスタムクエリがリセットされていないことが原因であることが際立っています(カスタムクエリはメインクエリによって設定されたグローバルを変更します)。 これから、$post信頼できないことが明らかです。カスタムクエリを使用するコードの不完全な記述は、$postグローバルを変更する可能性があり、その結果、何か(関連する投稿など)が破損します。 実際にはコアの内部動作について十分な知識があり、避けるべきものとそうでないものを知っているWordPress開発者はほんの一握りです。ユーザーの人口が多いため、WordPressコアがどのように動作するかはわかりません。 テーマをダウンロードしてプラグインをインストールするだけで、必要なことを実行したり、チュートリアルからコードをコピーしたりできます。彼らは、単一の投稿で関連する投稿を中断する、よく書かれていないプラグインをインストールするとします。どうして、それが原因で何がわかるのでしょうか?彼らはそれを自分で整理することができますか、それとも彼らはこの問題についてテーマ作者にメールを書いたり、このサイトに質問を投稿したりする100人目になるでしょうか? 私の質問:グローバルのようなもの$postがそれほど信頼できないときに、他のインポートされたコードによって引き起こされるそのような問題からどのように保護できますか?$postまったく同じようなグローバルを使用する必要がありますか?代替手段は何ですか? 結論を出す前にここで私の心を共有するために:を使用wp_reset_postdata()するwp_reset_query()前または使用する前に(および一部のテーマとプラグインでも見た)$post、グローバルがメインクエリにリセットされることを確認しました$post。しかし、他の誰かが自分のプラグインを適切にコーディングしなかったので、なぜ私のテーマでコードを膨らませなければならないのですか?また、誰かがカスタムクエリを適切にリセットした場合、この操作は不要な2回目に実行されますが、これは良くありません。 私が考えた2番目の方法は、$wp_queryなどを使用してからそのメソッドを使用することです$wp_query->post。 これに関するご意見をいただければ幸いです。

4
WordPressマルチサイト-グローバルカテゴリ
WPマルチサイトインスタンスのセットアップ-クライアントには、ブログセット全体のすべてのコンテンツを分類したい既存のオントロジー/カテゴリセットがあります。また、新しいカテゴリが「ネットワークブログ」レベルで追加され、他のブログと同期されることも望まれます。 これを行う最良の方法は何ですか?

1
add_settings_field()からコールバック関数に引数を渡す方法は?
私はこのような機能を持っています: add_settings_field( 'contact_phone', 'Contact Phone', 'settings_callback', 'general'); 動作します。settings_callbackを呼び出します。涼しい。これに伴う問題は、追加する設定ごとにコールバック関数を定義する必要はないということです。もし私がやっていることは、ちょっとしたことをエコーアウトするだけなら。 function settings_callback() { echo '<input id="contact_phone" type="text" class="regular-text" name="contact_phone" />'; } 一体どうしてそんなことをしなければならないのですか?id、class、およびnameはすべてparamsである必要があります。 paramsをsettings_callback関数に渡す方法はありませんか?私はコアを見始めました、ここに行きました:http : //core.trac.wordpress.org/browser/tags/3.1.3/wp-admin/includes/template.php ..そしてこの$ wp_settings_fieldsグローバルに遭遇しました。これはどこで定義されていますか?

2
画像の最適化に$ content_widthを使用するのに適した代替手段は何ですか?
$content_widthWordPress のGLOBALは、画像のサイズを制限したり、投稿に埋め込むことによって、多くのテーマや一部のプラグインに影響を与えます。これは、wordpress.orgに送信されるテーマの要件です。 以下を使用して設定されます。 $content_width = 584; // Twenty Twelve example 投稿に大きな画像(デフォルトは1024x1024)を挿入すると、次の結果になります。 src="../wp-content/uploads/2013/02/IMG_1390-1024x682.jpg" width="584" height="328" 代わりに、このグローバル設定を削除して実際の画像サイズを挿入すると、add_image_sizeそれを設定すると次のようになります。 src="../wp-content/uploads/2013/02/IMG_13901-584x328.jpg" width="584" height="328" グローバルを削除し、非常に一般的な大きな画像を挿入すると、ページの読み込み時に何百キロバイトも節約される複数の画像があるページで、2倍以上の節約になります。 add_image_sizeフルサイズの画像を挿入する機能を使用および削除することは、より良いオプションではありませんか? 追伸 もっと正確なデータでここに書いた

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

4
WordPressテーマ変数スコープ
WordPressテーマテンプレートファイル(index.php、header.phpなど)全体からアクセスできる変数を作成する必要があります。関数定義がfunctions.phpテンプレートファイル内(テーマパス内)にあることは知っていますが、変数にはそのようなものはありません。 たとえば、テーマのカテゴリを常に取得する必要があるので、テーマのどこからでもアクセスできるようにしたいと思います。 $categories = get_categories(); /* get_categories() is a wordpress function */ このようにして、カテゴリを取得する必要があるたびにデータを再割り当てする必要なく、割り当てられたデータに簡単にアクセスできます。 残念ながら、そのコードをfunctions.phpファイルに追加しても機能せず、変数も作成されませんglobal。
9 php  themes  globals 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.