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

関数は、特定のタスクを実行する一連のプログラム命令です。これは、対応するタスクを実行する必要がある場合はいつでも使用できるユニットとしてパッケージ化されています。

4
title-tagとdocument_title_partsに関する問題
Wordpress version 4.5.1 特定のテンプレートのページタイトルを動的に更新しようとしています。wp_title()変更について多くのことを調べて学習した後、私はを使おうとしていますdocument_title_parts。ただし、フィルターをまったく実行できません。 私は子供のテーマですfunctions.php: add_theme_support( 'title-tag' ); //add_filter("after_setup_theme", function(){ add_theme_support("title-tag"); }); add_filter( 'document_title_parts', function( $title ) { error_log('here'); return $title; }, 10, 1 ); 上記のように、テーマサポートの追加の両方のバリエーションを試しましたが、ログを見ると、ページの再読み込みに何も表示されません。これerror_logは他の関数(などwp_title)で機能していたため、エラーロギングが機能しています。 pre_get_document_titleページの読み込み時に起動するも試しましたが、実際にタイトルを変更することはできません。 そう!フィルターを間違って使用しているか、テーマを正しく設定していなかったか、気づいていない何かをしています。どんな助けでも大歓迎です! 編集して詳細を追加 init関数を試しても、それが機能しない:https : //gist.github.com/anonymous/6db5af892a4cf4fb029655167d7002a4 また、<title>からの参照をすべて削除しましたがheader.php、実際のサイトタイトルはまだソースに表示されています。

5
child_themeの前にparent_theme functions.phpをロードする方法は?
functions.php子テーマのfunctions.phpファイルを読み込む前に親テーマのファイルを読み込まなければならないという問題が発生しました。これは、セットアップと初期化手順に必要です。/wp_core_root/wp-settings.php(名前:)内のフックを確認しましたdo_action('setup_theme');。 問題は、そこにフックする方法がわからないことです。最初に取得するファイルは子テーマのfunctions.phpものなので、機能しませんadd_action( 'setup_theme', 'my_init_function' );。 編集: a)プラグインはテーマよりも早く読み込まれるため、最初のクエリにもアクセスできることはわかっていますが、プラグインに依存したくありません。 b)wp-settings.phpファイルのコード(短縮版)を以下に示します // happens a lot earlier: do_action( 'plugins_loaded' ); // localize stuff happening here do_action( 'setup_theme' ); // Load the functions for the active theme, for both parent and child theme if applicable. if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' …
12 functions 


2
esc_html、esc_attr、esc_html_eなどの違いは何ですか?
セキュリティ担当者からフィードバックがあり、コードではユーザー入力の適切なエスケープを使用する必要があると彼は指摘しました。だから私はいくつかの研究を行って、エスケープ関数を見つけました。 それらの違いは何ですか?いつesc_html()、いつ使用すればよいesc_attr()ですか?そして、いつこれらの関数を_e()最後に使用する必要がありますか?

2
管理者で現在の編集ページIDを取得するにはどうすればよいですか?
私が見つけたほとんどのソリューションは、フロントエンドで使用するためのものです。これはプラグインのため、すべてのアクティビティはバックエンドにあります。 管理者で現在使用(編集)されているページIDを取得するにはどうすればよいですか? ループから外れていることに注意してください。現在バックエンドに表示されている(投稿ではなく)ページのIDを取得するだけです。
11 functions  admin  id 

1
functions.phpでグローバル関数の代わりにクラスを使用する
私が見た多くのテーマ(TwentyElevenを含む)とオンラインで見つけた例ではfunctions.php、テーマのファイルを作成すると、すべての機能がグローバルスコープで宣言されます。明確にするために、これは一般的な関数ファイルは次のようになります。 function my_theme_do_foo() { // ... } function my_theme_do_bar() { // ... } add_action( 'foo_hook', 'my_theme_do_foo' ); クラスが使用された場合、物事は少し「カプセル化」できるように思えます。 class MyTheme { function do_foo() { // ... } function do_bar() { // ... } } $my_theme = new MyTheme(); add_action( 'foo_hook', array( &$my_theme, 'do_foo' ) ); (私の謙虚な目で)2番目のアプローチの利点: 短い関数名 インスタンス変数へのアクセス(最大の利点IMO) グローバル機能なし 欠点: …

5
任意のテーマで機能するグローバルfunctions.phpファイルはありますか?
任意のテーマで機能するいくつかのグローバルなfunctions.phpファイルはありますか? 問題はここにあります: 任意のテーマでfunctions.phpファイルを変更する場合、2つの変更に注意する必要があります。最初に、そのテーマの更新に注意する必要があります。次に、サイトのテーマを変更する必要があります。 では、テーマのfunctions.phpを変更する代わりに、テーマに依存しないいくつかのfunctions.phpファイルを変更することは可能ですか?
11 functions  themes 

2
WooCommerceで完了した注文に2つ目のメールアドレスを追加する[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、上のトピックワードプレスの開発スタックExchange用。 5年前休業。 この質問をする前に、Woo製品について独自のサポートがあり、ユーザーがそれを使用するように勧められるため、ここで質問に答える(正当な)ためらいがあることを知っています。私は有料のWooユーザーですが、有料サポートではこれを解決できませんでした。私の質問はWPのクラスをオーバーライドすることについてですので、公正に聴取されることを願っています。 私の質問:完了した注文メールが顧客に送信されると、このメールを逐語的かつ自動的に受け取る必要があります。これは、さまざまな請求書PDFによって作成されるような他の形式ではなく、顧客に送信されるのとまったく同じです。 WooCommerceのプラグイン。私は次の行を変更することで非常に簡単にこれを達成できます/woocommerce/classes/emails/class-wc-email-customer-completed-order.php: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); 読む: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); $this->send( me@myemail.com, $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); ただし、明らかに、このようなハックはアップグレード後も存続しません。WooCommerceテンプレートをオーバーライドする子テーマがあります。同様にカプセル化された方法でクラスをオーバーライドできる同等のメカニズムはありますか?または、顧客が受信したときにこのメールを受信するという特定のタスクを実行するために、(SMTPサーバーをすべての送信メールを2番目のアドレスにbccするように設定する以外に)別のアプローチをお勧めできますか?

1
マルチサイト用のis_user_logged_in()はありますか?
Wordpress MU /マルチサイト(3.0以降)用のis_user_logged_in()関数はありますか?site_idのようis_user_logged_in(2)にネットワークサイトIDを追加でき2ますか? 更新: 少し掘り下げた後、私は以下のコードを思いつきました。残念ながら動作しません。 //これは使用しないでください。動作しません。 function mu_logged_in($ blog_id){ switch_to_blog($ blog_id); $ status = is_user_logged_in(); restore_current_blog(); $ statusを返します。 } anuの回答とコメントは良いです。 また、cookieドメインがwp-config.phpファイルに正しく設定されていることを確認してください。

6
functions.phpファイルに配置するとis_pageが機能しないのはなぜですか?
「Apple」というページがあり、そのページのID IDは2533です。 page.phpファイルには、次の行があります。 echo $bannerimg そして、functions.phpのこの関数: if ( is_page( '2533' ) ) { // also tested with 'Apple' $bannerimg = 'apple.jpg'; } elseif ( is_page( 'test' ) ) { $bannerimg = 'test.jpg'; } elseif ( is_page( 'admissions' ) ) { $bannerimg = 'admissions.jpg'; } else { $bannerimg = 'home.jpg'; } …

3
匿名関数を介して追加されたアクション/フィルターを削除する
それは私が言わなければならないひどく悪い習慣です。匿名機能を介して追加されたアクションとフィルターを削除するソリューションを見つけるために、過去2時間を費やしました。 これは、親テーマで使用されるコードであり、削除する必要があります。 /** * Add custom columns to admin comments grid * * Rate that user set. */ add_filter( 'manage_edit-comments_columns', function( $default ) { $columns['smr_comment_rate'] = __( 'Rate', 'txtdmn' ); return array_slice( $default, 0, 3, true ) + $columns + array_slice( $default, 2, NULL, true ); }); toschoの答えを得た、それでひどく遊んだ、しかし助けはなかった。それで、匿名関数を介して追加されたアクション/フィルターを削除する他の選択肢はありますか? ありがとう

1
メガメニューウォーカー
メガメニューウォーカーを作ろうとしています。残念ながら、歩行者は私のコーディング知識から完全に脱出します。私は本当にそれを機能させるためにいくつかの助けを使うことができました。ここに私が必要な機能があります: 第2レベルを<ul>でラップし<section>ます。[コンプリート] ユーザー<li>が2番目のレベル<ul>のにクラス「ブレーク」を設定した場合、<li>そのスタートを新しいにし<ul>ます。<li>リストの最初の場合は、何もしないでください。順序付けされていない空のリストが形成されないようにします。[コンプリート] ユーザー<li>がsubを持つ最初のレベルのに「ウィジェット」クラスを設定すると<ul>、ウィジェットをその最後に追加します<ul>。[コンプリート] 複数の列やウィジェットを含むドロップダウンを含むmega-menu-columns-#最初のレベルの<li>要素にクラスを追加します。#は<ul>要素の数を表し、ウィジェットが存在する場合は+1を表します。[コンプリート] これを実行するためのコードが少しありますが、すべてではありません。以下のカットアウトセクションがあります。 2番目のレベル<ul>をラップする<section>: function start_lvl(&$output, $depth = 0, $args = array()) { if ($depth == 0) { $output .= "<section>"; } $output .= "<ul class=\"sub-menu\">"; } function end_lvl(&$output, $depth = 0, $args = array()) { $output .= "</ul>"; if ($depth == 0) { $output .= "</section>\n"; …

3
プログラムで「新しい」カスタムフィールドドロップダウンを追加するオプションを追加する
「新規追加」カスタムフィールドドロップダウンに定義済みオプションを追加するにはどうすればよいですか? 新しいカスタムフィールドを自動的に追加して表示する2つの例を次に示します。 WordPress:新しい投稿にデフォルトのカスタムフィールドを追加する カスタムフィールドを自動作成 それは私がやりたいことに近いです。私の目標は、事前定義されたオプションを「新規追加」カスタムフィールドドロップダウンに追加することですが、ブロガーが追加するまでフィールドとして表示されません。 プラグインを使用せずにこれを行う方法を知りたいのですが。

4
pluging.phpの前にプラグインがロードされている場合、プラグインでwp_get_current_user()を呼び出すにはどうすればよいですか?
現在の結果は「PHP Fatal error:Call to undefined function wp_get_current_user()」ですが、これは意味がありますが、役に立ちません。 $ current_userを使用する必要があります。 これが私が現在使用しているコードです: $wp->init(); do_action( 'init' ); // Check site status $file='http://xxxxxxxx.com/wp-admin/wp_includes/pluggable.php'; if ( is_multisite() ) { if ( true !== ( $file = ms_site_check() ) ) { require( $file ); die(); } unset($file); } // Get the current user's info $current_user = …

1
wp_register_sidebar_widgetとregister_widgetの違いは何ですか?
それらの違いは何ですか?いつ使用する必要がありますか? 私が使用しているwp_register_sidebar_widget今、それが正常に動作していますが、私はオンラインregister_widgetとクラスを使用してウィジェットを作成する方法についてのチュートリアルをたくさん見てきた、私のウィジェットのほとんどはオプションはので、私はに固執すべきである必要はありませんwp_register_sidebar_widgetか、私が使用する必要がありますregister_widgetフォームがなくても? 前もって感謝します。

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