WordPress

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

2
グーテンベルクのヒントを永久に非アクティブ化-グーテンベルクではない
私はグーテンベルクがとても好きですが、各ページの読み込みの最初のヒントは私を怒らせます。私はコードを介して永遠につまらないヒントを無効にしたいと思います。 「Gutenbergを無効にする」プラグインを投稿しないでください。すでに見たことがあります。私のテーマの数行のコードを介してそれを実行したいと思います。 フックがあるはずですが、見つかりませんでした。ヒントをありがとう。

5
PHPのベストプラクティス
single.phpなどのテンプレートを実行していて、phpがhtmlでラップされている場合、次のことを行うのが最善です。 PHPを起動して停止しますか?例えば <h1 class="post-tilte"><?php the_title(); ?></h1> <p class="post-content"><?php the_content();?></p> または Echo HTMLとEscape PHP?例えば ​​- <?php echo '<h1 class="post-title">' . get_the_title() . '</h1> <p class="post-content"' . get_the_content() . '</p> 私はあらかじめ解放された選択肢がなく、自分が両方をやっていることに気づきます。
11 php  wp-query  escaping 

2
プラグイン接頭辞の一意性を確認するにはどうすればよいですか?
他のプラグインとの衝突を回避するには、すべてのグローバル関数、アクション、プラグインに一意のプレフィックスを付ける必要があります。例: function xyz_function_name() { ... } 問題は、それxyzが実際に一意であることをどのように確認するかです。たとえば、Yoast SEOはwpseo_他のSEOプラグインも簡単に使用できると想像できるものを使用しています。使用可能なWordPressプラグインで潜在的な衝突を検索する最良の方法は何ですか?またはありますか?

1
WP 4.6のTinyMCEに自己閉鎖ショートコードボタンを追加
私は次のような自己終了ショートコードの作成に精通しています: // shortcode function wpse_shortcode_example( $wpse_atts ) { // Attributes $wpse_atts = shortcode_atts( array( 'foo' => 'bar', 'width' => '100%', 'height' => 'auto', ), $wpse_atts, 'wpse' ); // Return return '<embed src="' . $wpse_atts['src'] . '" width="' . $wpse_atts['width'] . '" height="' . $wpse_atts['height'] . '"; } add_shortcode( 'wpse', 'wpse_shortcode_example' …

1
カスタムポップアップtinymceウィンドウに「リンクの挿入/編集」ボタンを追加する方法
記事の本文にテキストを挿入する必要があります。これは、カスタムクラスでいくつかのdivタグ内にラップすることにより、「サイドタグ」に変わります。 テキストウィンドウのある新しいウィンドウをポップアップするtinymceでカスタムボタンを作成しました。テキストを記述し、OKを押すと、divの開始タグと終了タグが追加され、カーソルがあったwpエディターに挿入されます。 これがコードです: (function () { tinymce.PluginManager.add('custom_mce_button2', function(editor, url) { editor.addButton('custom_mce_button2', { icon: false, text: 'Side Tag', onclick: function (e) { editor.windowManager.open( { title: 'Insert a Sidetag', body: [{ type: 'textbox', name: 'title', placeholder: 'Type the side tag content here.', multiline: true, minWidth: 700, minHeight: 50, }, { type: 'button', …

2
wp_defer_term_countingを使用することの欠点はありますか?
私は200万以上の投稿を持つWordPressデータベースを持っています。新しい投稿を挿入するたびにwp_set_object_terms、実行に2秒以上かかる呼び出しをしなければなりません。用語のカウントをスキップするように電話することを推奨するこの投稿に出くわしましたwp_defer_term_counting。 このアプローチを使用した場合、WordPressの機能に深刻な影響がありますか? リンクが切れた場合に備えて、投稿のコードを次に示します。 function insert_many_posts(){ wp_defer_term_counting(true); $tasks = get_default_tasks(); for ($tasks as $task){ $post = array( 'post_title' => $task[content], 'post_author' => $current_user->ID, 'post_content' => '', 'post_type' => 'bpc_default_task', 'post_status' => 'publish' ); $task_id = wp_insert_post( $post ); if ( $task[category] ) //Make sure we're passing an int as the term …

1
エディターなしでwpLinkを使用する方法
リンクを追加するためのテーマオプションを作成したいと思います。wpエディターが存在する場合、これらのスクリプトをロードしてダイアログをトリガーすることは正常に機能します。 wp_enqueue_script('wplink'); wp_enqueue_script('wpdialogs'); wp_enqueue_script('wpdialogs-popup'); wp_enqueue_style('wp-jquery-ui-dialog'); wp_enqueue_style('thickbox'); wp_editor('', 'unique_id', array('editor_class'=>'hidden')); $('.add-link').on("click", function(e){ e.preventDefault(); wpLink.open(); return false; }); しかし、エディタが存在せずにリンクダイアログボックスを開くにはどうすればよいですか? これは私が求めているものです
11 links  editor 

1
AJAX挿入後にTinyMCEエディター/ビジュアルエディターを初期化する
カスタムオプションページに「リピーター」スタイルのフィールドグループがあります。非表示のアクティブなビジュアルエディターがあり、ユーザーが「新規追加」をクリックすると、行全体が複製されます。次に、クローン行のビジュアルエディターを初期化する必要があります。私のコード: $('.repeater-add-new').click(function(event) { event.preventDefault(); var target = $(this).data('repeater'); $( '#' + target).find('.repeater-row:not(.clone) .repeater-content.in').collapse(); var newRow = $( '#' + target + ' .repeater-row.clone' ).clone().appendTo( '#' + target + ' .repeater-row-wrapper' ).removeClass('clone'); rebuildIndex(target); // Initialize editors if needed newRow.find('.wp-editor-wrap').each(function(index, el) { var ed_id = $(this).find('textarea').attr('id'); tinymce.init(tinyMCEPreInit.mceInit[ed_id]); tinymce.execCommand('mceAddEditor', false, ed_id); quicktags({id : …
11 ajax  tinymce  editor 

7
末尾のチルダを含むWordpressの一致するURL
Wordpressが次のチルダを使用してURLを処理する方法にセキュリティ問題がある可能性があることを示唆しているように見える脆弱性レポート(1)を受け取りました。スキャナーは、ウェブサイトがいくつかのディレクトリ一覧などを提供していると考えているようです。 私のウェブサイトがまだこれらの異なるURLでコンテンツを提供していることに驚いたので、完全に空白のWPインスタンスをインストールしてテストを行い、「投稿名」のパーマリンクに切り替えて、はい、チルドが追加されたURLがまだ次のように解釈されることを確認しましたチルダなしのURL。 確かに、このようなURL: https://mywordpresssite.com/my-permalink 次のURLでもアクセスできます。 https://mywordpresssite.com/my-permalink~ https://mywordpresssite.com/my-permalink~/ https://mywordpresssite.com/my-permalink~~~~~~ WPがパーマリンクを解析する場所を確認するために少しつついてclass-wp.php、parse_requestメソッドでそれを追跡しましたが、それ以上のことはできませんでした。 私の質問は、これがWPの意図された動作であるかどうか、そうであれば、これをオフにしてチルダが一致しないようにする方法はありますか?なぜWPはチルダのあるURLを、チルダのないURLとして解釈するのですか? (1)はい、イギリスでいくつかの主要なハッキングとデータリークが発生しました。「セキュリティ」担当者が開発者に200ページのスキャンレポートを渡して、自分たちのビットを実行しているふりをするのは今回も同じです。誤検知や一般的な問題に満ちていて、私たちがこのレポートを読んで対処した場合、彼らは期待について何も知りません。悪いことは決して起こりません。
11 permalinks 

1
メール送信後に何かする
WordPressからメールが届いたら何かしたい。たとえば、wp_mail()機能を使用して「パスワードのリセット」メールを送信した後。
11 email  wp-mail 

1
子テーマのスクリプトとスタイルを適切にデキューする方法は?
プロジェクトの1つで親テーマと子テーマを作成しました。以下のように、親テーマにCSSとJavaScriptをエンキューしました。 function project_necessary_scripts() { //Stylesheets wp_register_style( 'bootstrap-css', get_template_directory_uri() .'/css/bootstrap.min.css' ); wp_register_style( 'bootstrap-map', get_template_directory_uri() .'/css/bootstrap.css.map' ); wp_register_style( 'project-css', get_stylesheet_uri() ); wp_enqueue_style( 'bootstrap-css' ); wp_enqueue_style( 'bootstrap-map' ); wp_enqueue_style( 'project-css' ); //JavaScripts wp_register_script( 'modernizr-js', get_template_directory_uri() .'/js/modernizr-2.8.3.min.js', array(), '2.8.3' ); wp_register_script( 'project-js', get_template_directory_uri() .'/js/project.min.js', array('jquery'), '20150401', true ); wp_enqueue_script( 'modernizr-js' ); wp_enqueue_script( 'project-js' ); …

1
デフォルトのWordPressコア翻訳を上書きする
WordPressはオランダ語に設定されています。get_the_archive_title()テーマを正しく使用すると、カテゴリアーカイブページに「カテゴリ:カテゴリ名」が正しく出力されます。しかし、「Sectie:Category-name」を読んでほしい。 WordPressの更新で更新されるため、wp-content / languagesフォルダー内のオランダ語ファイルを変更したくありません。 その翻訳ファイルをコピーして、「カテゴリ」の翻訳を変更し、新しいnl_NL.moファイルをmy-theme / languagesに入れてみました。これによる影響はありませんでした。 コアの翻訳ファイルを変更せずに、一部の文字列に対して異なる翻訳を実現するにはどうすればよいですか?

2
マルチサイトでブログIDによってアップロードURLを取得する
質問の本質は、私はこのような解決策を探している: $blog_upload_dir_info = wp_upload_dir( $date, $blog_ID ); $blog_upload_url = $blog_upload_dir_info[ 'baseurl' ]; $blog_ID現在のブログIDとはどこが異なりますか。ほとんどの»WP-obvious«ソリューションは失敗します: switch_to_blog( $blog_ID ); $blog_upload_dir_info = wp_upload_dir(); restore_current_blog(); wp_upload_dir()定数に依存しているWP_CONTENT_URLオプションがない限り、動的に現在のブログのURLを設定してupload_url_path設定されています。 もちろん、このオプションを設定することもできますが、これにより、コードに»WTF?«ポテンシャルを多く含む具体的なシステム設定が結合されます。 そこで、このオプションを仮想的に追加することにしました。 /** * Apply a value to the option blog_upload_url * if there's not already one * * @wp-hook option_upload_url_path * @param string $upload_url * @return string */ …

2
古い投稿のパーマリンクスラグはどこに保存されますか?
私はパーマリンクのスラッグで記事を公開しました: http://domain.com/writing その後、公開後、パーマリンクのスラッグをに変更しましたwriting-lorem。これで、にアクセスするたびに/writing、にリダイレクトされ/writing-loremます。 writing新しいカテゴリにスラッグを使用したいのですが、使用できませんwriting-2。 writingslugのすべてのレコードを削除するために、post_nameその投稿の下の列をDBで調べましたが、値は新しいslug writing-loremでした。 次に、そのwriting値を持つ他の投稿を検索しますが、見つかりませんでした。 そのスラッグは正確にどこに保存されていますか?それをどのように削除して、カテゴリに使用できますか?

2
カスタムフィールドの検索フォームを作成する
自動車販売店のテーマを作りました。各車はカスタムポストタイプ(「車両」)であり、約12のカスタムフィールドがあり、メーカー、モデル、走行距離、燃料タイプなどが含まれます。 したがって、基本的にはホームページに、Make&Modelのドロップダウンリストがあり、使用可能なすべてのMakesまたはModelsが含まれる検索フォームが必要です。 また、年に2つのオプションを設定して、エンドユーザーが「2006」と「2012」を選択できるようにし、検索結果に、これらの2つの数値の間に年があるすべての車両が含まれるようにします。 これを行うことができるプラグインはありますか? 助けてくれてありがとう..これは私を何時間も夢中にさせてきました!!!!

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