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

WordPressコア、プラグイン、テーマが記述されているサーバー側のプログラミング言語に関する質問について。

5
プラグイン(WooCommerce)がアクティブかどうかを確認するにはどうすればよいですか?
WooCommerceページの頭と足を変更しようとしています。私が持っているifWooCommerceのお店やカートをターゲットとすることになっている文を、そうではありません。ifステートメントの後にPHPを変更しても、何も変わりません。しかし、elseステートメントでPHPを変更すると、次のように機能します。 これは機能しません: <?php if (function_exists('woocommerce')): ?> <?php if (is_cart() || is_shop()): ?> <?php get_template_part('inc/CHANGE'); ?> <?php endif ?> <?php else: ?> <?php get_template_part('inc/page-header'); ?> <?php endif ?> これは機能します: <?php if (function_exists('woocommerce')): ?> <?php if (is_cart() || is_shop()): ?> <?php get_template_part('inc/page-header'); ?> <?php endif ?> <?php else: ?> <?php get_template_part('inc/CHANGE'); ?> …


1
例外vsエラーオブジェクトvs単なるfalse / nullを使用する場合
私はプラグインを作成中であり、エラー処理の異なるアプローチをいつ使用するかを判断しようとしています。 私が検討している3つの方法があります: 例外のスロー(カスタムクラス) エラーオブジェクトを返す(WP_Errorの拡張) null / falseを返すだけ 私が考えているいくつかの状況 存在しないレジストリに保存されているオプションを取得または設定しようとしています メソッドに無効な値を渡す(まれなはずです) クラスのオーバーローダーが解決できないメソッドを呼び出す 提案?WordPressプラグインの作成には特別な考慮事項があるため、これを一般的なPHPボードで質問する価値があるかどうかはわかりません。


3
なぜ配列($ this、関数)の中に関数をラップする必要があるのですか?
私はPHPとWordPressの初心者なので、優しくしてください。 プラグインを作成しています-いくつかのチュートリアルに従って、すべてを動作させます。 私の質問は、なぜ私が呼び出したい関数がラップされているのarray($this, function)ですか?たとえば、私は私のクラス内にこのコンストラクタコードを持っています function __construct() { add_action( 'admin_init',array( $this, 'getStuffDone' ) ); } getStuffDone関数は正常に起動しますが、なぜそれが含まれている形式でなければならないのですか? どんな洞察も大歓迎です。
8 php 

3
挿入メディアモーダルでのデータ属性のカスタム入力の追加
data-画像の親アンカーにhtml5 属性を追加できることを期待して、「メディアの挿入」モーダルにテキスト入力を追加しようとしています。 <a class="fancybox" href="..." data-fancybox-group=" "> <-この部分 <img class="wp-image-871" src="..." alt="..." width="245" height="333" /> </a> これまでのところ、モーダルに入力を追加することができました。 functions.phpファイルで以下のコードを使用します。 function add_fancybox_input( $form_fields, $post ) { $form_fields['fancyboxGroup'] = array( 'label' => 'fancybox group', 'input' => 'text', 'value' => 'testing', 'helps' => 'use this to group images in fancybox', ); return $form_fields; } …

1
Wordpress Visual EditorがHTMLの変更を取り除く
WordPress HTMLエディターを使用して、次のようなicomoonアイコンを追加すると、 <span class="icon-shield"></span> ビジュアルエディターに切り替えてから、HTMLエディターに戻ると、アイコンが消えます。これを修正するためにこのJavaScriptのビットを含めようとしています。私はwp_enqueue_scriptsを見て、これをfunctions.phpに入れましたが、それでも問題は解決しません。 function oakwood_tinymcefix() { wp_enqueue_script( 'tiny_mce' ); echo '<script type="text/javascript">' , 'tinymce.init({ ... extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]" });' , '</script>'; } add_action( 'admin_enqueue_scripts', 'oakwood_tinymcefix' ); どうすれば修正できますか?

1
複数の投稿タイプと同じ関係を持つクエリを単一のページに表示する
クライアントがプロジェクトを維持し、Wordpressにフィードバックを残すことができるクライアントポータルを作成しています。「クライアント」と「プロジェクト」という2つのカスタム投稿タイプがあり、それぞれがバックエンドで相互に情報を取得します。クライアントを作成すると、プロジェクトの投稿タイプのドロップダウンメニューに自動的にpostIDが生成され、クライアントをプロジェクトに割り当てることができます。 私が達成しようとしているのは、選択したクライアントに関連付けられているすべてのプロジェクトをフロントエンドの単一のページに表示することです。単一のページはクライアントポータルであり、クライアントの投稿タイプによって生成されます。 関連する投稿を表示できないようです。single.phpこれがクライアントポータルでプロジェクトを表示する私のコードです。 <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $loop = new WP_Query( array( 'post_type' => array( 'projects'), 'posts_per_page' => -1, 'paged' => $paged, 'meta_query' => array( array( 'key' => 'a_client', // name of custom field 'value' => '"' . get_the_ID() . '"', 'compare' => 'LIKE' ) ) …

1
WordPressテーマとPHPユニット
WordPressテーマでPHPユニットテストを使用する例はありますか?コアユニットテストはTracの一部であるため、このトピックに関する多くのブログは古くなっていますが、昨夜、Tracをプルしてサンプルを設定しようとしましたテストを実行するテーマ。それは静かな仕事ではありません、あなたはあなたのテーマをテストするためにすべてのテストを実行する必要があり、たとえあなたがファイルを試して要求する場合でも-WordPressがインスタンス化されて巨大な混乱になる前にそれを要求しようとします。 いずれにせよ、テーマユニットテスト用のプラグインがあることは知っていますが、テーマを「試行」して破壊する大量の投稿をインストールするだけです-基盤となるロジックはテストしません-特にフレームワークを構築する場合-phpユニットはここに最適ですコードのさまざまなオプションと実装をすべてテストできます。 テーマ内でPHPunitを実行する方法はありますか?

1
編集者が保留中の投稿を編集できるようにしますが、下書きはできません
私には、投稿の提出を支援するエディター機能を持つユーザーが多数います。これはこの役割の私の現在の設定です: ご覧のとおり、許可されていますが許可されedit_postsてedit_others_postsいませんedit_published_posts。つまり、下書きおよび保留中のステータスの投稿を編集できます。 ここで、保留中の投稿のみを編集できるように制限したいと思います。そのため、(投稿の作成者でない限り)投稿の下書きを操作することはできません。残念なことにedit_pending_posts...のような機能はありません。 どうすれば解決できますか?

2
PHP単体テストWordPress?
WordPressがどのように作成され、データベースとどのように相互作用するか、およびOOP指向ではないことを考えると、テーマを単体テストする方法はありますか?WordPressと対話するフレームワーク(テーマフレームワークではない)を単体テストする方法はありますか。たとえば、ループを処理したり、ウィジェットを処理したりするための単体テストを作成できますか? もしそうなら、誰にも例がありますか?単体テストの書き方は知っていますが、テーマ用の単体テストを書いたことがありません。 考え?

2
複数のページに分かれている場合は、Googleが投稿全体をインデックスに登録するようにします
これは問題ですが、を使用して投稿を分離するパブリッシャーへの重大な警告でもあり<!--nextpage-->ます。 私と一緒に裸。私は、検索エンジンで非常に上位にランク付けされる、トラフィックの多い複数の作成者プラットフォームを実行しています。SEO関連の改善を行っている間に、記事の最初のページだけがGoogleによってインデックスに登録されていることに気付きました。どうやってこれに気づきましたか? 誰かが記事の索引付けされていないページのコンテンツをつかんで、自分のサイトに投稿したからです。その結果、特定のキーワードで私よりも上位にランク付けされました。実際、言い換えると、私のサイトの記事は最初のページを超えて索引付けされていません。 私の質問は、記事が複数のページに分かれている場合、検索エンジンで記事全体をインデックスに登録するにはどうすればよいですか?理想的には、記事全文を表示するスクリプトならば、訪問者が検索エンジンである(つまり、SEOのために有害ではない場合)。その他の提案は大歓迎です。 余談ですが、もし私がブラックハットのテクニックに興味を持っていたら、そこに私が利用できるコンテンツの金山があります。それについて考えてください。 個人的な注意として、この問題はWordpressの将来のアップデートで対処する必要があります。 アップデート:どのように詳細に同様の質問ページ分割シーケンス内のすべてのページはのためのWordpressのは、同じ正規のURLを作成するよう求められたここで、しかし答えは正しいの質問に答えていないとして掲載してマークされました。このソリューションはページ付きのコメントに対してのみ機能し、ページ付けされた投稿に対しては機能しません。 Update 2:Googleによるこのブログ投稿によると、とを使用rel=”next”しrel=”prev”てページ間の関係を示すことができます。だから、例えば、これは我々がに含めるべきである<head>上の2ページ: <link rel="canonical" href="http://domain.com/article/2" /> <link rel="prev" href="http://domain.com/article/1" /> <link rel="next" href="http://domain.com/article/3" /> また、前後にページがない場合は、rel = "prev"または "next"があってはなりません。

3
start_lvlはCustom walker_nav_menuで無視されます
これはWordPressに関する最初のプロジェクトで、フッターメニュー用のカスタムウォーカーを作成しようとして立ち往生しました。 基本的にメニューを<ul> <li></li> </ul>構造から構造に変えたいです<p> <span></span> </p>。 メニューとものはファイルを表示していて、私は問題なくstart_elとend_el機能を調整することができたので、今これを取得します: <ul> <span>*link*</span> <span>*link*</span> </ul> 明らかに途中ですが、以下に示すようにstart_lvl()and end_lvl()タグを記述しましたが、それらはWordPressによって無視されます-私がそれらに入れたものは何もdie()実行されません(少し疑わしいです)が、クラスが呼び出されていることはわかっていますstart_el()機能。 function start_lvl(&$output, $depth = 0, $args = array()) { $output = "\n<p class=\"sub-menu\">\n"; } function end_lvl(&$output, $depth = 0, $args = array()) { $output .= "\n</p>\n"; } なぜこれが起こっているのか誰か知っていますか?本当に明白なものを見逃しましたか? 5.3.6それが役に立った場合、私はPHPを備えたApacheで最新バージョンのWordPressを実行しています。 前もって感謝します、 フェリックス:)
8 php  functions  menus  html  walker 

2
現在のページに子ページがある場合にtrueを返す関数
「ステータステスト」を実行するための簡単な関数を作成しようとしています。目的は、表示されている現在のページに子ページがあるかどうかをテストして確認することです。これを使用してレイアウトを変更し、子ページに対応します。次のコードは動作するようですが、残念ながらサイコロはありません。 誰か私が見逃しているものを見ますか? function is_subpage() { global $post; // load details about this page if ( is_page() && $post->post_parent ) { // test to see if the page has a parent return true; // return true, confirming there is a parent } else { // there is no parent so ... …

4
レスポンシブウェブデザインに注目画像を使用する最良の方法は何ですか?
私は素晴らしいアイデアを持っています。WordPressはすでに一部の作業を担当しているので、この作業を行うための適切な方法を見つける必要があります。 デスクトップPCでもモバイルガジェットでも、すべてのデバイスに応答する必要のあるプロジェクトに取り組んでいます。したがって、私は画像にも応答性を持たせたいと考えています。つまり、モバイルデバイスは50KB以上の画像をロードすべきではありません。 各ページまたは投稿について、フルサイズで画像が約950x250で約60KBの投稿サムネイルを使用して、注目画像を追加できます。iPhone / AndroidでWebサイトをロードする場合、60KB以下の画像をロードしたくないので、代わりに小さなサムネイルをロードします。 レスポンシブ画像のデフォルトの方法は、画像の幅を親コンテナーの100%にすることです。したがって、親コンテナーもサイズ変更されると、自動的にサイズ変更されます。大きな画像には最適な方法ではありません。 Filament Groupのレスポンシブな画像スクリプトを試してみようと思ったのですが、試してみましたが正しく機能しませんでした。これを実現する方法の1つは、ユーザーエージェントの検出によるものですが、ユーザーエージェントが偽装される可能性があるため、この方法も使用しません。 これは、その場で画像のサイズを変更する別の方法ですが、これはWordPressがすでに行っていることを複製しているようです。 WordPressがデフォルトであるメディアギャラリーの画像でこれを行う方法があり、サイズ変更されたすべてのサムネイルがすでに作成されている場合は、それが望ましいでしょう。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.