WordPress

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

2
投稿のパーマリンクでカテゴリベースのスラッグを使用する
目標 次のようにパーマリンクをフォーマットしたいと思います。 投稿の場合:somePrefix /%category%/%postname% カテゴリの場合:somePrefix /%category% どこsomePrefixは、どちらの場合も同じです。 これには大きな利点がないことを知っています。私にとっては「クリーン」に見えるだけです:)。また、URLを手動で編集する場合に便利です。 私が試したもの カテゴリーベースなし 1つのアプローチは、投稿のパーマリンクを/%category%/%postname%/として定義し、プラグインを使用してカテゴリベースを取り除くことです。残念ながら、これらのプラグインはバグが多いようで、使用は推奨されていません(Yoast SEO Pluginなど)。 同じカテゴリのベース 問題ないと思います。パーマリンクでカテゴリベースをそのまま使用してみましょう:category_base /%category%/%postname%。これにより、以下が生成されます。 投稿の場合:example.org/category_base/%category% / %postname% カテゴリの場合:example.org/category_base/%category% これはカテゴリで機能しますが、投稿へのリンクは404を生成します。 それで? これを達成する方法はありますか?同じカテゴリーベースによって作成されたリンクを適切に処理するための設定、プラグイン、またはおそらくWordPressのハッキングさえ?

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' ); どうすれば修正できますか?

2
正規URLシステム全体ではなく、URL自動補完のみを無効にする
私は、次のように構造化/名前が付けられた「プロジェクト」のカテゴリにいくつかのページがあるブログを持っています。 / projects / project-2012 / projects / project-2013 / projects / project-2014 / projects / project-2015 ユーザーがhttp://myblog.com/projectまたはhttp://myblog.com/projeのようなURLを入力すると、ページ/ projects / project-2012にリダイレクトされます。(301が永久に移動しました!) ワードプレスでURLを明確に定義された1つのページ(例:http://myblog.com/?p=123)に変換して正規形式にしたいのですが、「不明な」URLのURL自動補完のみを無効にしたい複数のページを指す場合があります。 私の質問は、次のとおりです。どうすればこれを達成できますか? 私もいくつかの研究をしました... 「Wordpress URLの自動補完を無効にする」という質問に対する承認された回答 は、正規URLシステム全体を無効にします。これは私には受け入れられません。 約4年Wordpressのバグトラッカーにポップアップこのような何か前:https://core.trac.wordpress.org/ticket/8948。ページを提供するようないくつかの良いソリューションは(「私たちはあなたのURLが見つかりませんでしたがしかし、あなたでしたおそらく次のページの1つを探していますか?」)そこで議論され、チケットは最後に閉じられました。 編集:実際にはhttps://core.trac.wordpress.org/ticket/16557に新しいチケットがあり、私が必要とするものを正確にカバーしています。4.0リリースを対象にしているようです。チケットのコメントにも解決策が含まれています(以下を参照)。
8 redirect  urls 

2
Wordpress 3.9データベース更新無限ループ
最近、ブログのWordpressバージョンを3.9に更新しました。アップデートを実行した後、管理パネルにアクセスしようとするとこのメッセージが表示されました。 データベースの更新が必要 WordPressが更新されました!お送りする前に、データベースを最新バージョンに更新する必要があります。 アップデートにはしばらく時間がかかる場合がありますので、しばらくお待ちください。 次に、「Wordpressデータベースの更新」ボタンが表示されます。ボタンをクリックすると、少し間をおいて次のメッセージが表示されます。 更新が完了しました WordPressデータベースが正常に更新されました! すごい。ただし、管理パネルにアクセスしようとするたびに、データベースを更新するように求める最初のメッセージが再表示されます。 誰かがこの無限ループから抜け出す方法を知っていますか?

1
wp_nav_menu_itemsフィルターを使用してカスタムメニュー項目を追加する
ウェブサイトのナビゲーションメニューに「プロフィール」リンクを追加するスニペットを追加しました。私のコード: add_filter( 'wp_nav_menu_items', 'my_nav_menu_profile_link'); function my_nav_menu_profile_link($menu) { if (!is_user_logged_in()){ return $menu; } else { $user_data = bbp_get_user_profile_url( get_current_user_id() ); $profilelink = '<li><a href="'.$user_data.'&edit" >Profile</a></li>'; $menu = $menu . $profilelink; return $menu; } } このコードはメニューにプロファイルリンクを正しく表示しますが、この「プロファイル」リンクを別のメインメニューのサブメニューとして移動したいと思います。 私のメニュー構造は次のとおりです。 ホーム| 私のアカウント| カテゴリー 「マイアカウント」の下に「プロフィール」リンクを追加したいのですが。この問題を解決するための提案はありますか?

3
サンドイッチコーディング標準
私は最近、WordPressテンプレート用のwp-lunch.phpファイルのコードを見つけました。適切なWordPressコーディング標準に従っている場合、これはどのように見えますか? <?php if ( current_user_can('has_sandwich') ): ?> <?php get_sandwich_header(); ?> <?php while( has_filling() ): the_filling(); ?> <?php get_sandwich_part( 'thick_layer', get_filling() ); ?> <?php endwhile; ?> <?php get_sandwich_footer(); ?> <?php endif; ?>

2
WP 3.9 TinyMCEがカテゴリの説明エディターに読み込まれなくなりました
WP 3.5以降、このスクリプトをfunctions.php内で使用しています 標準のカテゴリ説明エディタをリッチテキストエディタに変換します。残念ながら、サイトをWP 3.9にアップグレードすると、説明エディターが標準のテキスト領域に戻ります。 3.9で何を変更する必要があるか? add_action('load-categories.php', 'cb_admin_init'); add_action('load-edit-tags.php', 'cb_admin_init'); function cb_admin_init() { if ( user_can_richedit() && isset($_GET['action']) && 'edit' === $_GET['action'] && ( !empty($_GET['cat_ID']) || ( !empty($_GET['taxonomy']) && !empty($_GET['tag_ID']) ) ) ){ add_filter( 'tiny_mce_before_init', 'cb_mceinit'); add_action('admin_footer', 'wp_tiny_mce'); add_action('admin_head', 'cb_head'); } } function cb_mceinit($init) { $init['mode'] = 'exact'; $init['editor_selector'] = 'description'; …

2
meta_keyでnext_post_link()およびprevious_post_link()をフィルタリングしますか?
私は2つのセクションを持つページを持っています。セクションごとに異なるWP_Query()を使用しeventsて、カスタム投稿タイプです。それぞれがイベント日付についてWP_Query()a meta_keyを照会し、セクション1は次の日付のみを表示しevents、セクション2は過去の日付を表示しますevents。 次のeventsセクション1では、私のページにすべての関連情報が表示されるため、それらをクリックすることはできません。 eventsセクション2 の過去はeventタイトルのみを表示し、クリック可能です。ユーザーが過去eventをクリックすると、過去のカスタムsingle-event.phpテンプレートにリンクしeventます。 single-event.phpテンプレートに前/次のナビゲーションを表示したいのですが、ナビゲーションは過去をポイントするだけeventsです。 私は使っnext_post_link()てみましたprevious_post_link()が、これらも次のリンクにつながりeventsます。私はセットアップ新しいおそらくすることができWP_Query()、私のsingle-event.php前/次のIDを取得することによって、ループを、しかし、クエリを繰り返して抜本的なステップのように思えます。 events前の投稿/次の投稿のリンクからの今後の投稿を除外する方法についての洞察をいただければ幸いです。この質問を見たことがありますが、プラグインを使用したくないです。

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プラグインに機能を追加する正しい方法は何ですか?
そのため、この問題に関して、ある種のルール、または少なくともいくつかの礼儀正しいガイドラインを探して探してみましたが、何も見つかりませんでした。 本質的に、WordPressプラグイン(無料、wordpress.org / plugins /内にリストされ、GNU GPライセンスが含まれています)を見つけたときに何をすべきか疑問に思っています。 コードを変更して新しい機能を組み込んだ後、次の操作を行います。 1)プラグインの現在の作成者に提出し、彼/彼女がそれを追加することを希望しますか? 2)WordPressプラグインリストに「新しい」プラグインを自分のものとして送信しますか? 3)これらのオプションのいずれかを避けます。プラグインを変更して、自分だけに使用してください。 4)ここにリストされていない他のことをしますか?(コメント欄で提案が行われることを意味します。) ライセンスの観点からは、これらの選択を行うことに対する禁止事項はありません。コードを取得して変更し、プレミアムプラグインとして販売することがどれほど道徳的かはわかりませんが、GPライセンスで禁止されているようにも思えません。 この状況のベストプラクティスは何ですか?明らかに、プラグインの元の作者を怒らせたり、WordPressコーディングコミュニティで見栄えが悪くなるようなことをしたくありません。それでも、私が反対しているこの場合、プラグインはこの追加された機能から深刻な恩恵を受けると思います。 あなたがたは何と言いますか

4
「一目で」メタボックスにカスタム投稿タイプを表示する
次のスニペットには、ダッシュボードのAt A Glanceウィジェットで公開されているカスタム投稿タイプの数が次のように表示されます。 その「81レスラー」のテキストを投稿タイプリストへのリンクに変える方法はありますか。コードは次のとおりです。 add_filter( 'dashboard_glance_items', 'custom_glance_items', 10, 1 ); function custom_glance_items( $items = array() ) { $post_types = array( 'wrestler' ); foreach( $post_types as $type ) { if( ! post_type_exists( $type ) ) continue; $num_posts = wp_count_posts( $type ); if( $num_posts ) { $published = intval( $num_posts->publish ); $post_type …

1
二重認証でページを保護する方法:パスワード+メール(カスタムフィールド内)
ユーザーのメールに追加の入力フィールドを追加して、投稿のWordPressパスワード保護を拡張したいと思います。 したがって、コンテンツを表示するには、ユーザーはパスワードと、保護された投稿のカスタムメタフィールドに保存されている以前に与えられた電子メールを知っている必要があります。 私はその余分なフィールドをチェックする優れたフックを見つけようとしましたが、成功しませんでした。作り方のアイデアを教えてください。この種の機能のユーザーアカウントを作成したくありません。

1
wp-cli 0.14.1 MySQLエラー
今日wp-cli 0.14.1に更新しましたが、もう一度MySQLの問題が発生しました。私はWindows、Wampserver、およびCygwinを使用しています。 私が最後のリビジョン(0.14.0)に初めて更新したとき、同様の問題があり、GitHub ディスカッションからの情報を見つけて使用しました。これは、php.iniの「variables_order」が原因である可能性が高いと考えています。GPCSではなくEGPCSのデフォルトを強制するために、iniファイルでコメントアウトしました。それはそれを大事にしました。次のリリースでこれを修正することについての言及がありました。 ここで、0.14.1に更新し、「wp core config ....」を実行してwp-config.phpファイルを作成しようとすると、コマンドラインエラーが発生します。 MYSQL_PWD is not recognized as an internal or external command. 私はgithubスレッドに戻り、scribuが議論された変更を行ったことを確認しました。私はそれへのリンクをたどって、それがいくつかの光を当てるかどうかを見ました。328行目で変更を確認しましたが、その変更が問題を引き起こしているように見えるため、今何を試すべきかわかりません。 参考までに:DOSまたはCygwinコマンドラインからmysqlを使用しても問題はありません。どちらも同じ実行可能ファイルを参照し、正しく動作します。完璧に。 任意の助けいただければ幸いです。 2014年3月8日更新 注:(1)ユーザー名またはパスワードは一時的なものであり、これは私のローカルマシンの1つにあるため、公開する必要はありません。(2)このデバッグセッションでpharファイルを使用していることがわかります。binフォルダーにある「インストール済み」バージョンの「wp」を使用しても、まったく同じことが起こります。 これは、このwp-cliコマンドで開始したPHPStormのデバッグセッションです。 Boss@Bonkers /cygdrive/c/wamp/www/wpsandbox $ ../wp-cli-0.14.1.phar core config --dbhost=127.0.0.1 --dbname=wpsandbox --dbuser=root --dbpass=Bonkers --dbprefix=sndbx_ utils.phpのブレークポイントは、331行目に設定されています。 $final_cmd = $cmd . assoc_args_to_str( $assoc_args ); 実行のために333行に渡される最後のコマンドを作成します。 $proc = proc_open( $final_cmd, $descriptors, $pipes …
8 wp-cli 

4
テーマを変更すると、カスタム投稿タイプが失われますか?
私はカスタムのWordPressテーマで作業を開始しようとしています。カスタムの投稿にどれほど注意を払う必要があるか知りたいです。いくつかのカスタム投稿タイプを登録するWordPressテーマを作成するとします。私の理解では、これはテーマのアクティブ化時に発生します。 このカスタムタイプの投稿をいくつか作成してから、そのカスタム投稿タイプを持たないテーマに変更すると、投稿が完全に失われてしまいますか? DIDが同じカスタム投稿タイプ(可能な場合)である別のテーマに変更しても、それらはまだ存在しますか? さらに、カスタム分類に関連するこれらの同じ問題についてはどうですか?カスタム分類法をサポートしていない別のテーマに変更すると、カスタム投稿の分類法データが失われます(保存されている場合でも)。カスタム分類のデータはまだ存在しますか?

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