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

プログラムでコンテンツをオーバーライドする方法を提供するフックのタイプ

6
カスタムの投稿タイプにはsingle-{$ post_type}-{slug} .php
Wordpress テンプレート階層の私のお気に入りの部分は、テンプレートを選択するためにWordpressでページを編集しなくても、スラッグごとにページのテンプレートファイルをすばやく作成できることです。 現在これを行うことができます: page- {slug} .php しかし、私はこれをできるようにしたいと思います: single- {post_type}-{slug} .php たとえば、というタイプreviewの投稿で、「My Great Review」という投稿のテンプレートを作成できます。single-review-my-great-review.php 誰かこれを前に設定しましたか? single-{post_type}-{slug}.php

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)

3
関数の前後のadd_action()、add_filter()
WordPress snippets / tutorials / pluginsを見るadd_action()とadd_filter()、関数が宣言される前によく表示され配置されます。 add_action( 'publish_post', 'email_friends' ); function email_friends( $post_ID ) { $friends = 'bob@example.org, susie@example.org'; mail( $friends, "sally's blog updated" , 'I just put something on my blog: http://blog.example.com' ); return $post_ID; } 論理的な観点から、これは私には意味がありません。コードで呼び出された後に関数を配置するのはなぜですか?これは通常、私が同じ状況をどのように処理するかです: function email_friends( $post_ID ) { $friends = 'bob@example.org, susie@example.org'; mail( $friends, "sally's …

2
wp_nav_menuからメニュー項目を動的に除外する
カスタムメニューからnavメニュー項目を除外/削除する方法についての情報を探してみましたが、見つけた唯一のスレッドには私にとって有用な答えがありませんでした。 1.背景: 私のサイトでは、WPカスタムメニュー(wp_nav_menu)とjqDockを使用してDockメニューを作成しました。jqDockは、その魔法を機能させるために連続した画像または画像リンクを必要とするため、カスタムウォーカーを使用して、navメニューのHTML出力を次のようにします。 <div id="menu-first" class="nav"> <a><img src="http://path/to/image-1.png"/></a> <a><img src="http://path/to/image-2.png"/></a> <a><img src="http://path/to/image-3.png"/></a> etc... </div> カスタムウォーカーのコードは次のとおりです。 class custom_nav_walker extends Walker_Nav_Menu { var $tree_type = array( 'post_type', 'taxonomy', 'custom' ); var $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' ); function start_lvl(&$output, $depth) { $indent = str_repeat("\t", $depth); $output .= "\n$indent<ul …


8
body_classからクラスを削除します
このようなクラスの混乱は必要ありません... <body class="page page-id-829 page-template page-template-page-template-portfolio-php portfolio"> このようなものが欲しい... <body class="portfolio"> すべてのクラスのリストを含むフィルタースニペットがあり、bodyクラスに表示したくないもののコメントを外すことができます。 ありがとう。
17 filters 

2
プラグインが自動的に更新されないようにするにはどうすればよいですか?
サイト上のすべてのプラグインが自動更新を受信できるようにするオプトインフィルターがあります。 add_filter( 'auto_update_plugin', '__return_true' ); この機能は気に入っていますが、すべてのプラグインが自動的に更新されるのは望ましくありません。手動で実行したいプラグインを除外しながら、一部のプラグインを自動的に更新できるようにするにはどうすればよいですか?

2
wplinkダイアログにカスタムオプションを追加する
私は画像のカスタムオプション選択を追加することができました function attachment_field_credit( $form_fields, $post ) { $field_value = get_post_meta( $post->ID, 'first_image', true ); $isSelected1 = $field_value == '1' ? 'selected ' : ''; $isSelected2 = $field_value != '1' ? 'selected ' : ''; $form_fields['first_image'] = array( 'label' => __( 'Use as first image' ), 'input' => 'html', 'html' => …

2
apply_filters関数とその変数の説明
「simplr form registration」プラグインの例を使用して、PHPを使用してhtmlフォームを作成する方法を学習しています。 私はこのコードを見ています: $form .= apply_filters('simplr-reg-instructions', __('Please fill out this form to sign up for this site', 'simplr-reg')); ここで何が起こっているのか説明してください-関数が何をするのか、なぜ「simplr-reg-instructions」と「simplr-reg」が必要なのですか? この行が単純にできないのはなぜですか: $form .= 'Please fill out this form to sign up for this site' ; 関数リファレンスを読みましたが、それでも理解できません。
16 filters 

1
カスタム投稿タイプの行アクション?
サイトをフィードバックのようなポータルに変換するプラグインに取り組んでいます。すべてのフィードバックを表形式で表示する新しいオブジェクトページ「Feedbacks」register_column_headers($array_of_column_headers)を作成し、テーブルの作成に使用しています。このテーブルに自分のページ行アクションを追加できるかどうかを知りたかったのです。つまり、リスト内のすべてのフィードバックの下で、「承認」、「削除」、「ブラックリスト」などのアクションを意味します。 私はコードといくつかのチケットを読み、それがこのように行われていることを見つけました:投稿、そのpost_row_actions、コメント、そのcomment_row_actions、メディア、media_row_actionsなどなど。私ができるフィルターはありmy-page-slug_row_actionsますか?

1
分類条件の保存
誰かがすぐに答えてくれることを願う興味深い問題があります。 「MY METABOX CODE」(以下のリスト)に基づいて、作成した「event_types」分類内のすべての用語のドロップダウンリストを正しく表示する独自のメタボックスを作成しました。 私が問題に直面しているのは、ドロップダウンから別の用語が選択され、投稿が更新されたときに、投稿に関連付けられた用語を保存/更新できることです。 さまざまなコードビットをいじくり回した後、term_ID番号をコンマで区切って配列領域に手動で入力することで、探している結果が得られることがわかりました。 たとえば、投稿の保存時に関数がこのコードを呼び出す場合 wp_set_post_terms( $post_id, array(5,7), 'event_types', FALSE); その後、私の投稿が更新され、term_ID 5&7がそれに関連付けられます。問題は、これがユーザーが選択したドロップダウン値に基づいておらず、functions.phpファイルにハードコードされていることです(注:実際には1つのIDのみを渡そうとしますが、以下で説明するようにテストのために2つしました) また、メタボックスファイルに次のコードを追加すると、割り当てられた用語IDのリストをエコーできますが、最後のアイテムにはコンマが付いていることがわかりました。 <?php $event_types = wp_get_object_terms($post->ID, 'event_types'); foreach ($event_types as $event_type) { echo $event_type->term_id . ','; } ?> だから...問題の85%が解決したようだ。私の問題の残りの15%は次のように残っています。 投稿を作成/更新するときに、分類ドロップダウンリストから選択した新しい値が配列に渡されるように、functions.phpファイルコード(以下にリスト)に何を追加する必要がありますか? この例では、単一の分類のみを投稿に関連付けることができるようにしていますが、配列に複数の値を渡す必要があるチェックボックスリストを作成したい場合もあります。そのため、用語IDのコンマ区切りリストが配列に渡されるようにするには、何を変更する必要がありますか?上記のサンプルコードの一部または一部を使用して答えを返す場合、IDをエコーする場合、最後に印刷されるIDの末尾にコンマがないことを確認するにはどうすればよいですか?(別の/より良い方法がありますか?フィルターの追加に関連するヒントを見ましたが、これがどのように行われるのかわかりません...) よろしくお願いします。以下は、各ファイルで現在使用しているコードです。 FUNCTIONS.PHPファイルのコード function save_event_taxonomy_terms($meta, $post_id) { $event_types = wp_get_object_terms($post->ID, 'event_types'); wp_set_post_terms( $post_id, array($names), 'event_types', FALSE); } …

1
フィルターの__return_falseとは
ワードプレス(3.1.1)インストールからadmin-barを削除/非表示にすることを考えていました。 次のリンクにアクセスしました: http://codex.wordpress.org/Plugin_API/Filter_Reference/show_admin_bar 管理バーを削除/非表示にするための1行しか表示されないことに驚いた add_filter( 'show_admin_bar', '__return_false' ); 私の質問は、__ return_falseの意味は何ですか?なぜ__と_なのか

3
WooCommerce Checkoutテンプレートで請求フィールドを並べ替える方法は?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックワードプレスの開発スタックExchange用。 6年前に閉鎖されました。 アクションとフィルターを使用したWooThemeのカスタマイズチェックアウトフィールドを使用してmadlibスタイルのチェックアウトフォームを作成しています。 チェックアウトテンプレートの請求フィールドは、form-billing.php次の呼び出しで表示されます。 <?php foreach ($checkout->checkout_fields['billing'] as $key => $field) : ?> <?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?> <?php endforeach; ?> フィールドの表示順序を変更するにはどうすればよいですか? 現在の(デフォルトの)フィールドの順序は 次のとおりです。名 姓 会社(私には隠されています) 町/市 郵便番号 国 州 メール 電話 デフォルトの順序: 私は、フィールドが(私が住んでいる)アメリカ人のために、より自然な順序になりたい: 最初の名前 最後の名前 (私のために隠された)会社 町/都市の 状態 郵便番号 国 Eメール 電話 どうすればこれを行うことができますか?
15 filters  plugins 

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; }

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