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

プラグインとテーマがコアWordPress機能を拡張する方法。

2
PHPでのフィルターとフックの実際の動作
WordPressでは実際にフィルターとフックはどのように機能しますか? 私は何か高度なことを尋ねています。PHPではどのように実装されていますか?たとえば、さまざまなプラグインからすべてのフックを収集し、それらをコアフックなどに「アタッチ」する方法など。
21 filters  hooks 

3
このコードは何回実行されますか?(または、おばあちゃんの豊かさは?)
架空の例ですが、実世界での適用可能性(私のような学習者向け)。 このコードを考えます: <?php function send_money_to_grandma() { internetofThings("send grandma","$1"); } add_action('init','send_money_to_grandma'); add_action('init','send_money_to_grandma'); OK、WPサイトを立ち上げてログインします。Adminでいくつかのページを走査します。「init」アクションは、ラップトップのバッテリーが切れる前に合計100回発生します。 最初の質問: おばあちゃんにいくら送金しましたか?$ 1、$ 2、$ 100、または$ 200(または他の何か?) あなたの答えを説明することができたら、それは素晴らしいでしょう。 2番目の質問: おばあちゃんに$ 1だけを送信するようにしたい場合、これを行う最善の方法は何ですか?$ 1を初めて送信したときに「true」に設定されるグローバル変数(セマフォ)または、アクションが既に発生したかどうかを確認し、それが複数回発動しないようにする他のテストがありますか? 3番目の質問: これはプラグイン開発者が心配するものですか?私の例は馬鹿げていると思いますが、パフォーマンスの問題と他の予期しない副作用の両方を考えていました(たとえば、関数がデータベースに更新/挿入する場合)。

4
do_actionとadd_actionの違い
この質問は間違っているかもしれません、私はそれについて確信がありません。私はこれについて明確ではないからです。 add_action関数を指定された関数にフックするために使用されることを知っています。たとえば、add_action('wp_head'.'myfunc');今でmyfuncはコードが実行されますwp_head()。これは明らかですが、do_actionそれが何をするのか疑問がありますか? 既に利用可能なフック(wp_head、wp_footer、.. etc)のような独自のフックを作成するために使用されると思います。 私はインターネットの違いを試しましたが、すべてがadd_actionとadd_filterの違いを指しています。最初にこれを明確にしたいので、そこに移動したいので、そこには行きたくありません。 誰も私を助けることができますか? 質問の投稿後に編集 function custom_register() { echo '<script>jQuery(document).ready(function(){alert("Learning Hooks");});</script>'; } do_action('custom'); add_action('custom','custom_register'); プラグインでこれを試しましたが、アラートメッセージが表示されませんでした。 しかし、同じ関数をフックすると、wp_headうまく機能しています /******************working****************/ add_action('wp_head','custom_register');
20 hooks  actions 

5
CPTをデフォルトのホームページとしてどのように使用しますか?
私は、自分のサイトのサイトを構成するためにカスタム投稿タイプを多用するクライアントを持っています。しかし、私は彼らの要求されたホームページのための岩と難しい場所の間にいます。 実際には、ホームページはWordPress内の特定の「ページ」のスタックになります。基本的に、Intro、Blog、About Us、Portfolio、Contact Usのページがあります。それらはすべて互いに積み重ねられるので、あるページから別のページにスクロールできます。 私の最初の本能は、ページ(Homeと呼ばれる)を使用し、ページのスラッグを受け入れて適切な順序を出力するショートコード(つまり[pageOrder]intro, blog, about-us, portfolio, contact-us[/pageOrder])を埋め込むことでした。ページはカスタムページテンプレートを使用して、レイアウト、ループの制御、ページの左側へのナビゲーションの追加を行います。しかし、それはすべてぎこちないようです。 私の理想的なソリューションは、エンドユーザーがドラッグアンドドロップでページを配置し、CPTがレイアウトやナビゲーションなどを処理できるようにするカスタム投稿タイプ(Stackと呼ばれる)を作成することです。 私の理想的なソリューションの問題は設定です。WordPressでは、サイトのデフォルトのホームページのページを選択できます。しかし、それは投稿タイプのpageに結びついており、ユーザーがデフォルトのホームページとしてスタックを選択できるように、それを変更するためにどこにフックするかわかりません。 それで、デフォルトのホームページの利用可能なページのドロップダウンにCPTを追加するためにどこにフックしますか?

2
apply_filters()を理解できない
apply_filters()で apply_filters( $tag, $value, $var ... ); との周りに頭を包むのに問題が$valueあり$varます。私はコーデックスを読んで、$value修正できるように聞こえますが$var、実際にはこれの例は見つかりませんでした。変数を渡す方法として使用されるようです。その場合、それとの違いは何$varですか?
19 filters  hooks  actions 

5
投稿データを保存する前に編集するにはどうすればよいですか?
プラグインがあり、データベースに保存する前にいくつかのフィルターを介して投稿コンテンツを実行できるようにしたいと思います。見てから、プラグインAPI、私が見て、彼らが役に立つかもしれませんようにすることをその2つのフックを参照してください。 save_post wp_insert_post 唯一の問題はsave_post、変数を返す必要がないように見えるため、コンテンツをフィルタリングする方法がわからず、wp_insert_post文書化されているように見えることです。 私はこのようなことをしたいです: add_action('whatever_hook_name','my_function'); function my_function($post_content){ return $post_content.' <br> This post was saved on '.time(); } タイムスタンプを追加するよりも便利なこと、つまりいくつかの正規表現フィルターを実行しますが、これは追加しようとしている一般的なタイプのフィルター/アクションです。 更新 投稿に表示されているときではなく、データベースに保存される方法でデータを傍受したいことに注意してください(例:にフィルタを追加しないことthe_content)

2
投稿を更新するときにフックする正しい方法は何ですか
私は投稿が更新されたときにフックしようとしますが、すべてのフックは決して実行されません updated_post_meta add_action('updated_post_meta', 'my_function'); function my_function($post_id) { echo 'This is my post ID : '.$post_id; } 私はこれを試しましたadd_action('save_post', 'my_function');が、IDはエコーアウトされませんでした、またはおそらくこのメッセージはすでにエコーされていますが、リダイレクトヘッダーが送信されているためレンダリングされません。
19 php  hooks  actions  save-post 


3
新しいブログ設定フォームにカスタムブログオプションを追加する方法
十分に単純な要件のようですが、私は苦労しています: 「新しいサイトの追加」にオプションフィールドを追加したい。 シンプルなテキストオプションで十分です。どうすればいいですか? サイトの作成時に、このカスタムブログオプションを保存する必要があります。 私は「wpmu_new_blog」フックを使用できることを知っていますが、これは$meta提供されたオプションで変数を渡しますが、1つのステップでこれをすべて行う方法があるので、別のDBクエリを実行する必要はありません、サイト作成プロセス全体を上書き/置き換えますか? ノート: MultiSiteセットアップでWP 3.3.1を使用しています。指定したカスタムフィールド値に一致するすべてのサイトをリストするプラグインを作成しています(「タイプ」と呼びましょう)。 また、私は経験豊富なPHP開発者ですが、WordPressのハッキングはまだ比較的新しいので、さまざまなWP関数とフックのすべてにまだ精通していないと想定してください。

5
時間が経過してもWP Cronが実行されない
目標 wp_schedule_single_event( )ユーザーがフォームを送信してから8分後に電子メールを送信する単一のイベントを実行するために使用します。 問題 次のコードはmyにありfunctions.phpます: function nkapi_send_to_system( $args ) { wp_mail( 'xxx', 'xxx', $args ); } add_action( 'nkapi_send', 'nkapi_send_to_system' ); function schedule_event( $id ) { wp_schedule_single_event( current_time( 'timestamp' ) + 480, 'nkapi_send', array( $id ) ); } そして、次のコードは、呼び出すために使用されていますschedule-event。 schedule_event( $_SESSION['insert_id'] ); // the $_SESSION var contains an INT 8分以上待った後、受信トレイに電子メールがありませんでした。 私が試したもの …
16 hooks  array  wp-cron  cron  events 

1
「add_action」フックに添付されているすべてのアクションを表示するにはどうすればよいですか?
私は管理バーで作業しており、いくつかのメニューとその優先度をデバッグしようとしています。 次のようないくつかのコールバックがアクションにバインドされることを知っています。 add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 ); のようなフックが呼び出されたときに呼び出されるように並んでいるものをどのように見ることができadmin_bar_menuますか?
16 plugins  php  hooks  actions  debug 

1
WooCommerce:製品の簡単な説明と価格の表示順序を変更[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックワードプレスの開発スタックExchange用。 4年前に閉鎖されました。 re: https://modestmix.com/shop/benefit-teas/go-the-fuck-to-sleep/ 価格を「$ 4.99– $ 24.99」から商品の短い説明「真剣に。これを1杯飲んでください」の下に移動したいのですが。 これを行う方法はありますか?すでに子テーマがありますが、どのWooCommerceファイルをオーバーライドする必要があるかわかりません。

2
一部のフックがクラスコンテキスト内で機能しないのはなぜですか?
これにはかなり困惑しています。プラグインクラス内でadd_actionを使用して特定のことを行います。スクリプトやスタイルをhead、wp_ajaxなどに追加します。以下に__constructのアクションを示します。 function __construct(){ add_action('admin_menu', array($this, 'sph_admin_menu')); add_action('sph_header', array($this, 'sph_callback')); add_action('sph_header_items', array($this, 'sph_default_menu'), 1); add_action('sph_header_items', array($this, 'sph_searchform'), 2); add_action('sph_header_items', array($this, 'sph_social'), 3); //Below here they don't work. I have to call these outside of the class (but I need class variables within the functions) add_action('wp_print_styles', array(&$this, 'sph_stylesheets')); add_action('wp_print_scripts', array(&$this, 'sph_scripts')); add_action( …
16 hooks  actions  oop 

2
クラスメソッドをフックコールバックとして登録する
これを正しく行ったかどうかはわかりません。 私が理解したように: クラスfooと静的メソッドバーがある場合array("foo","bar")、関数名として配列を渡すことでコールバックとして登録できます。 $ fooにクラスのインスタンスがあり、メソッドbarを呼び出したい場合、配列を渡します array($foo,'bar')ます。 クラス自体にアクションを登録する必要がある場合、それは動作しarray($this,'bar')ますか?
16 plugins  hooks  oop 

3
リダイレクトを含むアクションを追加するには、どのフックを使用する必要がありますか?
同じページの新しいクエリ文字列を構築するために、クエリ文字列から特定のURLパラメータを取得するプラグインを構築したいと思います。Professional WordPressプラグイン開発の優れた本をフォローしていますが、このアクションにどのフックを使用すべきかわかりません。ここに私のアクション関数があります: add_action( 'init', 'tccl_redirect' ); function tccl_redirect() { header ( "Location: http://www.mysite.com/$mypage?$newparam=$newvalue" ); ?> どのフックがヘッダーのリダイレクトに適していますか?

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