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

WordPressコア全体の特定のポイントで実行されるイベントの名前。

7
remove_actionまたはremove_filterと外部クラス?
プラグインがメソッドをクラス内にカプセル化し、それらのメソッドの1つに対してフィルターまたはアクションを登録した状況で、そのクラスのインスタンスにアクセスできなくなった場合、どのようにアクションまたはフィルターを削除しますか? たとえば、これを行うプラグインがあるとします: class MyClass { function __construct() { add_action( "plugins_loaded", array( $this, 'my_action' ) ); } function my_action() { // do stuff... } } new MyClass(); インスタンスにアクセスする方法がないため、クラスの登録を解除するにはどうすればよいですか?これ:remove_action( "plugins_loaded", array( MyClass, 'my_action' ) );正しいアプローチではないようです-少なくとも、私の場合はうまくいかないようです。
59 actions  filters 

9
フィルターおよびアクション関数にパラメーターを渡す
add_filterまたはの関数に自分のパラメータを渡す方法add_actionです。たとえば、次のコードを見てください。 function my_content($content, $my_param) { do something... using $my_param here ... return $content; } add_filter('the_content', 'my_content', 10, 1); 独自のパラメーターを渡すことはできますか?何かのようなもの: add_filter('the_content', 'my_content($my_param)', 10, 1) または add_filter('the_content', 'my_content', 10, 1, $my_param)

3
フィルターフックとアクションフックの違いは?
私は最近、プラグインAPIをもう少し詳しく見てきましたが、アクションフックとフィルターフックの間に実際にどのような違いがあるのかと思っていました。どちらもパラメーターとしてデータを受け取るイベントであり、どちらも同じことを実行できるようです。 明らかに、アクションが実行されるとアクションが呼び出され、データが操作されるとフィルターが呼び出されることがわかりますが、これは単なるセマンティクスの命名の違いのようです。 セマンティクスとそれらの用途に加えて、それらの間に実際の違いは何ですか?

7
add_actionはクラスを参照します
'add_action'で関数の代わりにクラスを参照することは可能ですか?理解できないようです。問題の関数の基本的な例を次に示します。 add_action( 'admin_init', 'MyClass' ); class MyClass { function __construct() { .. This is where stuff gets done .. } } ええ、それはうまくいきません。私も試しました: $var = new MyClass(); add_action( 'admin_init', array( &$var ) ); そして: $var = new MyClass(); add_action( 'admin_init', array( &$var, '__construct' ) ); そしてまた: add_action( 'admin_init', 'MyClass::__construct' ); とにかく、クラスをロードする別の関数を作成せずにこれを行うことができますか?add_actionを介してクラスコンストラクターを実行できるようにしたいだけです。ボールを転がすためにロードする必要があるのはそれだけです。
38 actions 


1
新しい投稿を作成するときにsave_postアクションが発生するのはなぜですか?
save_post管理ダッシュボードの[新しい投稿]リンクをクリックすると、アクションに追加した私の機能が実行されることに驚かされます。注-これは、Saveまたはを押す前Updateであり、経過時間または自動更新の後ではなく、すぐに起動します。 一方、何かを入力してPublishor UpdateまたはSave Draftボタンを押すと、アクションハンドラー内に配置したechoステートメントはエコーアウトされないため、それ以外の時間にアクションが起動しないように見えます。これは無関係かもしれません。 ここに私のコードがあります: add_action('save_post', 'MyNS\save_event_metabox', 10, 2); function save_event_metabox($post_id, $post){ echo "<h1>YES!</h1>"; } この「YES」は、「新しい投稿」リンクを押すと(ページの上部に)エコーしますが、何かを入力してからUpdateまたはPublishまたはを押すとエコーしませんSave Draft。これは、save_postアクションとwp_insert_post()機能に関するドキュメントと矛盾しているようです。 誰も私のためにこれをクリアできますか?

1
登録されているすべてのアクションのリストを取得します
開発していないプラグインをデバッグしようとしていますが、登録されているすべてのアクションをリストしたいと思います。私はこのSOスレッドを読みました: WordPressは:どのように私は「the_content」フィルタのためのすべての登録済みの機能を得るのですか -のStackOverflow しかし、それは1つのフックに固有のものであり、アクションではなくフィルターに関するものです。 などの変数はあります$wp_filterか?

1
wp_cronをテストするには?
これは一種の愚かな質問です... 1時間ごとに実行するアクションをスケジュールしました。 if(!wp_next_scheduled('my_hourly_events')) wp_schedule_event(time(), 'hourly', 'my_hourly_events'); add_action('my_hourly_events', 'the_function_to_run'); function the_function_to_run(){ echo 'it works!'; } これが1時間待たずに機能するかどうかをテストするにはどうすればよいですか?:) wp_clear_scheduled_hook('my_hourly_events');このコードの前に追加してから追加しようとしましwp_cron()たが、実行中の関数が表示されません... 編集: OK、trigger_error()関数内にapacheエラーログをチェックアウトし、そこにあります:) だから今、私はさらに混乱しています: wp-cronはどのようにバックグラウンドで実行できますか?どうやら出力が表示されない場合にそれが起こるからです... これはオブジェクトコンテキストでは機能しないようです。どうして?
28 events  actions  cron  wp-cron 



3
カスタム投稿の追加/編集ページでスクリプトをキューに入れる方法は?
「レシピ」と呼ばれる自分が作成したカスタム投稿タイプを誰かが追加または編集している場合にのみ、JSスクリプトをキューに登録しようとしています。現在、これを行うとスクリプトは正常に動作します: if (is_admin()){ wp_enqueue_script( 'my-script' ); } しかし、これはすべての管理ページにロードされます。関数にフックする必要があると仮定していますが、それがどうなるかはわかりません。 前もって感謝します!

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 

1
プラグイン用のAPIを作成する方法は?
私はWordPress用のプラグインを開発していますが、開発したほとんどのプラグインは2つまたは3つのクラスを使用しているため、BuddypressやWooCommerceほど大きくはありません。 他の開発者が機能をカスタマイズでき、それらのシステムがBuddypressおよびWooCommerceと同じである必要があるような複雑なシステム(現時点では詳細を共有できませんが、開発中に後で)を提供する2つのオープンソースプラグインを開発する予定です。 これらのプラグインファイルを確認すると、開発者が必要に応じて変更できる独自のアクションとフィルターが登録されていることがわかります。しかし、私の問題は、他の人が機能をオーバーライドするだけでなく、独自のプラグインを追加する柔軟性を持つプラグインをどのように書くべきかを完全に理解できないことです。 明確な答えを出すのは難しいことは知っていますが、正しい方向に進むには、何らかのスタートアップガイドが必要です。独自のアクションとフィルターを登録する必要がありますか?はい、どうですか?そうでない場合、私のオプションは何ですか? あなたのアドバイスは私を大いに助けます...ありがとう

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)

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