WordPress

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

4
テーマのW3C標準への準拠を維持する方法
テーマを書いたとき、それがXHTML 1.1とCSS 2.1に準拠していることを確認しました。次に、プラグインを追加したところ、テーマはXHTMl 1.1に準拠しなくなりました。次に、CSSでGoogle APIフォントを使用しましたが、CSS 2.1に準拠しています。 プラグインやフォントなどを削除せずにコンプライアンスを維持できる方法はありますか、それとも検証エラーを無視する必要がありますか?
10 plugins  themes 


4
クリーンアップアップロードフォルダー、メディアライブラリのデータベース構造
私は、Blogger.comから始まり、自己ホスト型のWordPress 2.1、2.3、そして現在3.0に移行した古いブログのアップグレードとクリーンアップを行っています。投稿内の画像は散在しています。それらのほとんどはにありますが、/wp-content/すべて/wp-content/uploads/またはにありません/wp-content/uploads/year/month/。他のユーザーはまだblogger.com画像サーバーを参照しています。すべてをに統合したいのです/wp-content/uploads/year/month/が、「正しい」場所だと思いますか。これにより、後のアップグレードが容易になります。 これを行う最良の方法は何ですか?メタデータも更新したいので、メディアライブラリですべて管理できます。このドキュメントは見つかりませんでした。見逃した場合は、申し訳ありませんが指摘してください。 もちろん、私は古い場所から新しい場所へのリダイレクトを提供します。これを行う最良の方法は何ですか?404.phpプラグインのテンプレート?ロギングを追加して、参照ページを見つけて修正できるようにします。 (この質問は、元々WordPressサポートフォーラムで質問されましたが、そこで役立つ回答は得られませんでした)。

4
WordPress 3.0の新しいメニュー機能でwp_list_pages()を使用して子ページを表示するメニューを生成しますか?
以前は、次のようなロジックを使用して、現在選択されている親ページの子ページを選択的に読み込むことができました。 if( $post->post_parent ) { $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); } else { $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); } if ($children) { ?> <ul id="subnav"> <?php echo $children; ?> </ul> <?php } else { } 新しいregister_nav_menus()/ wp_nav_menu()機能を使用してこれを行うネイティブな方法はないようです。この時点で私がこれを一緒にパッチする方法を誰かが知っていますか? これが私が達成しようとしていることのスクリーンショットです:
10 menus 

3
サイドバーウィジェットのカスタム投稿タイプデータ?
(注:この質問は元々カスタムフィールドに関するものでしたが、@ MikeSchinkelはカスタム投稿タイプを含むより優れたソリューションを持っていました) 私のサイトには、サイドバーに同じデータを表示したいページがいくつかあります。たとえば、次のような構造の場合: -Home -Cars -Volvo 850 overview -Volvo 850 tech spec -Volvo 850 pictures -Porsche 911 overview -Porsche 911 tech spec -Porsche 911 pictures -Roads -Route 66 overview -Route 66 history -Route 66 pictures -Pan-American Highway overview -Pan-American Highway history -Pan-American Highway pictures Volvo 850のすべてのページに同じデータをサイドバーに表示し、すべてのポルシェのページに異なるデータセット(たとえば、Speed、Makerなど)を表示したいと思います。 道路ページには、道路ごとに独自のデータセットがあります。車と道路にも独自のページテンプレートがあり、右側のサイドバーを取得する方法は、sidebar.php内で次のようになります。 if ( is_page_template('car-profile-template.php') …

4
WordPress 3.0のナビゲーションメニューに投稿のアーカイブを追加する
皆さん、こんにちは。WordPress3.0と、カスタム投稿タイプとメニューエディターの 2つの新機能をいじっています。 ごproducts想像のとおり、私は「」という新しい投稿タイプを作成することから始めました。 私は沼地の標準テンプレートを使用しており、上部のナビゲーションを置き換える新しいメニューを作成しています。特定の「製品」しか追加できないことがわかる限り、製品の「アーカイブ」を追加することはできません。私がやろうとしていることは、メニューにリンクを追加して、すべての製品をリストするページに移動することです。 これを行う方法はありますか?

5
Wordpress内でコンテンツの「チャンク」をどのように表現しますか?
これまで、自己ホスト型ブログプラットフォームとしてワードプレスを使用したことがありませんでした。非常に基本的なCMSに使用する必要があります。これは約10ページで構成され、そのほとんどは静的コンテンツであり、定期的に更新されます。ドキュメントをアップロードしたり、画像を埋め込んだり、テキストエディターを使用してコピーを編集したりする必要があります。WordPressが提供するほとんどすべての標準機能です。 ただし、ページ内の特定のセクションの編集に関する問題、特にどこから始めればよいかを理解するのは困難です。「通常の」CMSは従来、ページを個別のセクションに分割し、コンテンツを直接編集するか、その場所に共有コンテンツを含めることで、これらのセクションを編集できるようにしていました。ワードプレスを使用してこれを行う方法を見つけることができません。 ページモデルを「ストレッチ」して、ページが実際にはコンテンツのチャンクになり、特定のページ/テンプレートに含まれるようにし、直接表示されないようにする(ナビゲーションメニューから削除する)開始)。 どこから始めればよいのでしょうか? 更新 明確にするために、標準的なワードプレスのブログ投稿を想像してみてください。静的なコンテンツのふりをします。エディターがそのブログ投稿の最初の段落だけを変更できるようにしたいとします。さて、 そのページの静的コンテンツは、投稿、ページ、テンプレート、または他の何かにあるべきですか? 編集可能なコンテンツはページ、またはその他の何かである必要がありますか? 例えば: <h1>About us</h1> <p>Example.com is a company specialising in examples, demonstrations, and canonical stuff.</p> その段落を編集可能にしたい場合は、おそらく次のようなものが必要です。 <h1>About us</h1> <p><?php insert_page('name-of-content-chunk'); ?></p> アップデート2 わかりました。多くの調査、試行錯誤を経て、以下を含めました。 Wordpressは、特に1つのページに複数のコンテンツを配置することに関して、従来のCMS を簡単に複製するように設定されていません。 このモデルは、カスタム投稿を使用して、多かれ少なかれ模倣することができます(以下を参照) ただし、ページにはこれを実行する機能がほぼ備わっています。 ページを含めるだけのプラグインが必要です ページは投稿ほど柔軟ではないようです-例えばカスタムページタイプはありません 私が使用した方法は、カスタム投稿タイプを使用して、大まかに次のとおりです。 ページはカスタムテンプレートを含む「ページ」です-「mypage.php」と呼びます このテンプレートには、次のものが含まれています。 <div id = "header"> <?php query_posts(array( 'name' => 'foo'、 'post_type' => …
10 cms 

1
一部の404でループが空にならないのはなぜですか?
私は奇妙な問題に出くわしました。 3レベル以上の深さのランダムなURLにアクセスするとします。 http://example.com/a/b/c http://example.com/a/b/c/d ... 次にis_404()ですtrue。ここまでは順調ですね。しかし、何らかの理由で最後の投稿が照会されます。 $wp_query->request です SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND ( wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private' ) ORDER BY wp_posts.post_date DESC LIMIT 0, 5 そして、もちろんそれはhave_posts()戻っtrueてきます。誰かがこれを説明できますか? これまでにわかったこと: 3つ以上のレベルでのみキックインする理由は、そのWPがその前に投稿と添付ファイルを検索するため、何らかの形で他の動作が発生するためです。 WPがリクエストをある時点で404として認識したとしても、最新の投稿をフェッチするようです。@kaiserおよび@GMの助けを借りて、これを/wp-includes/class-wp.php:608からどこかに追跡しました

4
実際に、テーマのstyle.cssをテーマファイルにリンクする必要がありますか
そのため、CSS用の一連のLESSファイルを使用してワードプレスのテーマを開発しています。これらは、コードキットを使用して、テーマのスタイル設定に使用する結合された最小化されたスタイルシートにコンパイルされます。 ワードプレスのテーマには、テーマに関する情報をコメントに含むstyle.cssが必要であると理解していますが、このstyle.cssをheader.phpにリンクする必要がありますか?確かに、テーマ情報だけを入れて、それ以外は何も入れずに、テーマフォルダーにそのまま残しておくことができます。私が実際に使用するスタイルシートは、styles.cssやmain.cssなどと呼ぶことができます。 誰かがこれを確認したり、これが悪い考えである理由を教えたりできますか?

1
スレッド化されていないコメントの返信に元のコメントへのリンクが含まれる
私が達成しようとしていることを説明します。 各コメントへの返信リンクを含む通常のスレッド化されていない(フラット/クラシック)コメントを希望します。誰かがコメントに返信すると、返信のコメントは、デフォルトの非スレッド化コメントの場合と同様に、最新のコメントとして上部(または下部)に表示されますが、デフォルトの非スレッド化コメントとは異なり、返信には次のリンクが表示されます。元のコメント/著者。 wordpressフォーラムで提案された解決策があります: http://wordpress.org/support/topic/reply-to-link-for-chronological-non-threaded-comments うまく機能しません。投稿者がさまざまなコードを配置しているファイルがわからない。私はコードを使用して、comment_postに関数をフックしようとしました: add_action('comment_post', 'print_reply_link', 10, 2); function print_reply_link( $comment_id, $approved ){ if( $approved ){ $comment = get_comment( $comment_id ); if ( $comment->comment_parent ) { $parent = get_comment( $comment->comment_parent ); $parent_link = esc_url( get_comment_link( $comment->comment_parent ) ); printf( ' in reply to <a href="%1$s">%2$s</a>', $parent_link, $parent->comment_author ); } …
10 comments 

3
分類:なぜ 'with_front' => falseが機能しないのですか?
真剣に、なぜ'with_front' => falseそれがあるべきように動かないのですか?TAXONOMY BASE NAMEを削除することになっていますが、私の質問はなぜ機能しないのですか? 分類基準のベーススラグがURLに表示されないようにしたいだけで、コーデックスは'with_front' =>falseが役立つはずであると述べていますが、そうではありません。スラッグを空のままに'slug'=> ''すると、404エラーが発生します。 register_taxonomy("tax_categories", array("products"), array( "hierarchical" => true, "label" => "Categories", "singular_label" => "Category", "show_ui" => true, 'update_count_callback' => '_update_post_term_count', "rewrite" => array( 'with_front' => false, 'hierarchical' => true ) )); この問題は修正されることになっていますhttp://core.trac.wordpress.org/ticket/16807 それを理解するのを助けてください。ありがとうございました。

2
is_page_template()は何と比較しますか?
Wordpressのドキュメントを見るis_page_template()と、「テンプレート名」が提供されている場合は、それと比較されます。 とpage-homepage.php呼ばれるに保存されているテンプレートがありHomepageます: /* * Template Name: Homepage * Description: The template for displaying the homepage */ そして、そのテンプレートを使用しているときにfunctions.phpで実行したいコードがいくつかあります。 if (is_page_template('Homepage')) { ... しかし、そのテンプレートを使用するページにいるときはトリガーされません。 Wordpressが実行するコードを見ると、is_page_template()実際にはテンプレート名ではなくドキュメント名をチェックしているように見えます...? function is_page_template( $template = '' ) { $page_template = get_page_template_slug( get_queried_object_id() ); if ( $template == $page_template ) return true; 私のインスタンスでは、ドキュメントのようにテンプレート名で$page_templateはpage-homepage.phpないようです...? 私は何か間違ったことをしていますか?

2
do_actionと戻り値の取得方法は?
したがって、次のシナリオがあります。 データベースからログを削除するアクションを追加します。 add_action( 'myplugin_clean_logs', array( 'MyPlugin_Logs', 'clean_logs' ) ); 今、私はこのアクションを定期的に実行したいと思います: wp_schedule_event( current_time( 'timestamp' ), 'daily', 'myplugin_clean_logs' ); そしてそれを手動で実行します: do_action( 'myplugin_clean_logs' ); このメソッドMyPlugin_Logs::clean_logsは影響を受けた行の数を返すか、何かが他の方向に進んだ場合はfalseを返します。 次に、削除された行の数を表示します。私はこのようなものを想像します: $affected_rows = do_action( 'myplugin_clean_logs' ); echo $affected_rows . ' entries have been deleted.'; しかし、do_action値を返さないので、戻り値を取得する方法がわかりません。 手動実行でメソッドを直接実行する必要がありますが、スケジュールイベントのアクションを使用する必要がありますか?
10 actions 

2
WP-Rest-API v2でメディアを追加する
Wp-rest-api v2およびOauth2認証を介してワードプレスブログにメディア画像をアップロードするためにあなたの助けが必要です。 REST APIドキュメントで画像データを送信する方法が見つかりませんでした(フィールド名、送信モード...?)。 require('OAuth2/Client.php'); require('OAuth2/GrantType/IGrantType.php'); require('OAuth2/GrantType/AuthorizationCode.php'); const CLIENT_ID = 'XXX'; const CLIENT_SECRET = 'XX'; const REDIRECT_URI = 'http://127.0.0.1/test_api_wp/test.php'; const AUTHORIZATION_ENDPOINT = 'http://wordpress.local/oauth/authorize'; const TOKEN_ENDPOINT = 'http://wordpress.local/oauth/token'; $client = new OAuth2\Client(CLIENT_ID, CLIENT_SECRET); if (!isset($_GET['code'])) { $auth_url = $client->getAuthenticationUrl(AUTHORIZATION_ENDPOINT, REDIRECT_URI); header('Location: ' . $auth_url); die('Redirect'); } else { $params = array('code' …
10 media  restful 

4
Orderby meta_valueは、既存のmeta_keyを持つ投稿のみを返します
次のwp_queryがあります。 $args = array( 'post_type' => 'news', 'orderby' => 'meta_key', 'order' => 'ASC', 'meta_key'=>'custom_author_name', 'post_per_page'=>-1 ); $query = new WP_Query($args); echo $query->found_posts; echoが10 newsとなるのは、meta_key = custom_author_name。しかしnews、その特定のmeta_keyを含むpost_meta行を持たない数百の投稿があります。meta_queryは含まれていないことに注意してください。meta_valueでフィルターするのではなく、meta_keyで投稿をソートしようとしているだけなので、meta_valueは割り当てられていません。 すべての投稿をorderbyで選択するべきではありませんか?注文するだけですか? もしそうなら、なぜ結果はフィルタリングされますか?meta_keyが見つからない場合は、空の文字列を使用するか、すべてに一致しないのはなぜですか? そうでない場合、なぜでしょうか? すべてのニュース投稿にmeta_keyを入力すると(空の文字列であっても)、期待どおりの結果が得られます。しかし、それはそこにある必要のないテーブル行の多くのように思えます。

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