WordPress

WordPressの開発者および管理者向けのQ&A

2
カスタム投稿タイプのSave_post?
カスタム投稿タイプ用のsave_postフックはありますか? 例:save_my_post_type publish_my_post_typeがあることは知っていますが、保存フックを探しています。
31 hooks 

1
テーマファイルへの直接アクセスを制限する価値はありますか?
テーマで次のスニペットに時々出くわしました: if ( ! defined('ABSPATH')) exit('restricted access'); テーマ内のいくつかの(すべての?)PHPファイルの先頭にあり、悪意のあるソースによるファイルへの直接アクセスを防止することになっています。 これはTwenty TenやElevenには含まれておらず、WordPressの公式ドキュメントで推奨されていることは一度もありません。私にとっては良い考えのように思えますが、私はセキュリティについて判断するのに十分な知識も持っておらず、グーグルで多くを見つけることができません。 これはカスタムテーマに含めるべきものですか?もしそうなら、それはすべてのPHPファイルにあるべきですか、それともいくつかですか?

1
Tracで提案されたパッチの単体テストを実行する方法は?
Tracで提案されているWordPressパッチでユニットテストを正しく実行する方法と、テストの結果を正確に報告する方法に関する洞察と優れたリソースを探していました。私はこれが初めてで、このWPSEの質問にあるリソースを読みました。 私自身、これを行う方法を学び、このTracチケット#5809のような実世界のバグでこれを行うことを本当に望んでいます。前述のWPSEの質問のリソースを読んだ後、私の短所は、提案されたパッチに対して提案されたテストをどのようにセットアップするか理解できないことです。 更新:まだリソースを検索しており、現在、WordPress単体テストでこのビデオを見ています。

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()機能に関するドキュメントと矛盾しているようです。 誰も私のためにこれをクリアできますか?

2
サードパーティは$ wp_scripts / $ wp_styles-> add_dataを使用する必要がありますか?
WP_Dependenciesクラス内にという名前のメソッドが存在しadd_dataます。この関数は、WordPressのロード中にキューに入れられたスクリプト/スタイルにデータを追加します。この関数の一般的な引用用途は、IEの異なるバージョンを対象とするスタイルシートを追加するときに条件を追加することです。たとえば、IE8以前を対象にするには: function test_wp_print_styles() { global $wp_styles; wp_enqueue_style( 'test-style', get_template_directory_uri() . '/css/test.css', array(), 1, 'all' ); $wp_styles->add_data( 'test-style', 'conditional', 'lte ie8' ); } add_action( 'wp_print_styles', 'test_wp_print_styles' ); これは次のようにレンダリングされます。 <!--[if lte ie8]> <link rel='stylesheet' id='test-style-css' href='http://trunkosaurus.dev/wp-content/themes/twentyeleven/css/test.css?ver=1' type='text/css' media='all' /> <![endif]--> Coreを見ると、このメソッドが使用される場所がいくつかあります。 WP_Styles->add_inline_style():参照されたスタイルシートの後にインラインスタイルを追加します(経由で実行WP_Styles->print_inline_style()) WP_Scripts->localize():jsonでエンコードされたオブジェクトを追加します(より「パブリック」なwp_localize_script()関数によってラップされます) wp_plupload_default_settings() : 'wp-plupload'スクリプトに(多次元配列から作成された)jsonエンコードオブジェクトを追加します(これは3.4で予定されています) スクリプトおよびスタイルを登録/エンキューする場合デフォルトスクリプトのデータの追加(wp-includes/script-loader.php) メソッドの使用方法を読むことから、特定のユースケースがあるようには見えません。ではwp_plupload_default_settings、任意のデータインジェクションが許可されているようです。ではwp_register_script、ヘッダースクリプトとフッタースクリプトを区別するために使用されるようです。ではadd_inline_style、指定されたスタイルシートがキューに追加された後に追加されるインラインスタイルを示すために使用されます。 この関数の優れた使用法は、外部スクリプトをエンキューしているが、いくつかの設定変数を送信する必要がある次のコードのようなものです。 function zdt_enqueue_add_this() { …

2
スクリプト/スタイルがキューに登録/登録されたかどうかを確認します
それは、スクリプトやスタイルを使用して登録されたかどうかをテストすることは可能ですwp_register_script/_styleかwp_enqueue_script/_style?すべての関数が値を返すわけではなく、私は完全に無知です。 スタイルシートライブラリと提供するスクリプトに応じて、異なる機能を切り替えるために必要です。 ありがとうございました!

3
カスタム投稿タイプと分類の名前を変更する
12種類以上のカスタム投稿タイプを備えたサイトの開発を開始しました。表示値だけでなく、実際のカスタム投稿タイプ名のいくつかを変更したいと思います。ただし、SQL更新クエリを実行するだけで、変更したりシリアル化されたデータの一部を上書きしたりする必要がある場所を見逃すことが心配です。すでに3,000を超えるアイテムを入力したため、クリーンなデータベースで再起動することはできません。 カスタム投稿タイプの名前を変更する最良の方法は何でしょうか?分類法の名前を変更してはどうですか?

6
モバイルデバイスを検出して特定のテーマを提示する方法
iPhone、Androidなどの携帯デバイスからサイトにアクセスしていることが検出された場合、訪問者に提示するテーマの新しい修正バージョンを作成します(必要に応じてプロファイルを確認します)。 リクエストがモバイルデバイス/ブラウザからのものかどうかを検出する方法は? 専用のテーマを読み込んで提示するにはどうすればよいですか? 詳細:私のテーマは流動的ではありません。幅は約976pxに固定されています(676pxコンテンツ+残りは左側のサイドバーです)。テーマに革命をもたらしたくはありませんが、320x480および800x480の携帯電話には大きすぎると感じています。おそらく、サイドバーを削除するか、少なくとも右に移動して他の小さな調整を行います。

9
ループ外でget_the_excerptを使用して抜粋を取得する
呼び出すコードがget_the_title()あり、動作しますが、get_the_excerpt()空を返します。動作させるにはどうすればよいですか? このコードは、「WP Facebook Open Graph protocol」というプラグイン内にあります。変更したい部分は次のとおりです。 if (is_singular('post')) { if (has_excerpt($post->ID)) { echo "\t<meta property='og:description' content='".esc_attr(strip_tags(get_the_excerpt($post->ID)))."' />\n"; }else{ echo "\t<meta property='og:description' content='". [?] ."' />\n"; } }else{ echo "\t<meta property='og:description' content='".get_bloginfo('description')."' />\n"; } ここでは、has_excerpt常に失敗し、get_the_excerpt($post->ID)もう動作しません(非推奨)。 それでは、どのように抜粋を表示できますか? ps:「Advanced Excerpt」プラグインも使用しています
31 loop  excerpt 

9
開発中にキャッシュを回避するにはどうすればよいですか?
サイトへの変更の外観をテストするときに、すべてのキャッシュを防ぐ簡単な方法はありますか?WP Super Cacheを使用しています。提供されたオプションを使用してキャッシュを削除し、ブラウザーのキャッシュを削除しても、CSSまたはウィジェットへの一部の変更は更新されません。ブラウザーやコンピューターの切り替えなど、他の回避策を試してみますが、キャッシュされた以前の形式ではなく、行った変更を確認できる、より合理化されたワークフローが必要です。これに最適なソリューションは何ですか?

11
IDから抜粋を取得する
タイトルや他のほとんどの要素と同様に、IDによる抜粋を取得できないのはなぜですか。 例えば。get_the_excerpt(ID)。私はそれを$ post-> post_excerpt関数で使用する方法を知っていますが、抜粋が入力されていない場合、コンテンツの一部を返しません。単純に何も返しません。 だから私がやろうとしているのは、抜粋がある場合はIDで抜粋を取得し、そのIDで抜粋はないがコンテンツがある場合は、代わりにコンテンツの一部を取得することです。 どうすればいいでしょう。 何か案は、 素晴らしい... 編集- 要求に応じてソースコードをループします。 <?php $stories = get_posts('category_name=feedback&numberposts=4'); foreach ($stories as $post) : $title = $post->post_title; $excerpt = get_the_excerpt_id($post->ID); $thumb = get_the_post_thumbnail($post->ID,array(60, 60, true));?> <div class="textstandard_white" style="font-size:14px; line-height:22px; padding-top:10px;"><b><a href="<?php echo get_permalink($post->ID);?>"><?php echo $title;?></a></b></div><div align="left" style="height:18px; width:82px; background:url(http://www.divethegap.com/update/z-images/structure/icons/stars.png) left top no-repeat;"><div id="stars<?php echo $post->ID;?>" …
31 posts  excerpt 

7
ファイルの履歴を保持するためにSubversion、Git、または同様のバージョン管理システムの使用を開始しますか?[閉まっている]
これは表面的には広範な質問かもしれませんが、WordPressサイトで編集済みファイルのバージョン履歴を保持するために使用するセットアップ/ワークフローの具体例を探しています。たとえば、サイトを開発するとき(そしてライブになった後でも)、私はしばしばCSSファイルとPHPファイルに変更を加えますが、それらのファイルの古いバージョンに戻す素晴らしい方法はありません。私の目的では、ローカルの開発インストールで変更を行ってから、それらの変更をライブサイトにコピーすることは、私が望んでいるよりも多くのトラブルです。バージョン管理ツールを使用してライブサイト上のファイルの編集を追跡する方法についての提案はありますか?

6
管理メニューセクションの順序を変更しますか?
このかなり単純なタスクを運なしで達成しようとして数時間を費やした後、ここで少しイライラしています。 基本的に、作成した5つのカスタム投稿タイプがあり、「ダッシュボード」の下に特定の順序で各投稿を表示するだけです。 WordPressのドキュメントから、最高のメニュー順序は "5"のように見えるため、実際にこれを行うことはできないようです。そして、上記のL これを読んでいる専門家の一部は、機能ファイルを使用し、プラグイン(存在することを知っている)を使用せずに、希望どおりの方法で管理メニューを注文できる簡単な方法を示していると思います。 先に進んで、5つの個別の投稿タイプを作成し、ダッシュボードのすぐ下に特定の順序で含めるようにしてください...これは不可能なようです。?? ...この作業を行うためのjqueryハックがありますjQueryを利用せずに、またはできれば私と共有できますか?
31 menus  wp-admin  admin 

3
カスタム投稿タイプに注目画像が表示されないのはなぜですか?
functions.phpに次のサムネイルサポートが追加されています。 // Add Thumbnail Support add_theme_support('post-thumbnails'); set_post_thumbnail_size( 140, 140, true ); そして、私はカスタム投稿タイプを作成します // Create Custom Post Type for Work add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'custom_post', array( 'thumbnail', 'labels' => array( 'name' => __( 'Custom' ), 'singular_name' => __( 'Custom' ) ), 'public' => true, 'has_archive' => true, …

5
クエリにカスタムテーブルを含めるためにWP_Queryを拡張する方法は?
私は今、この問題について何日も過ごしています。最初は、ユーザーのフォロワーデータをデータベースに保存する方法でしたが、WordPress Answersでいくつかの素晴らしい推奨事項を取得しました。その後、推奨事項に従って、次のような新しいテーブルを追加しました。 id leader_id follower_id 1 2 4 2 3 10 3 2 10 上記の表では、最初の行にはIDが2のユーザーがおり、その後にIDが4のユーザーが続きます。2番目の行には、IDが3のユーザーにIDが付いたユーザーが続きます同じロジックが3行目に適用されます。 WP_Queryを拡張して、ユーザーのリーダーのみがフェッチする投稿を制限できるようにします。したがって、上記の表を考慮して、ユーザーID 10をWP_Queryに渡す場合、結果にはユーザーID 2とユーザーID 3による投稿のみが含まれます。 私は答えを見つけようとして多くのことを検索しました。また、WP_Queryクラスを拡張する方法を理解するのに役立つチュートリアルを見たこともありません。同様の質問に対するマイクシンケルの回答(WP_Queryの拡張)を見てきましたが、それを自分のニーズに適用する方法を本当に理解していません。誰かがこれで私を助けることができたら素晴らしいでしょう。 マイクの回答へのリンクはリクエストどおり: リンク1、リンク2
31 wp-query 

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