WordPress

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


1
qTranslateのような多言語Webサイトの書き換えルール?
言語切り替え用の独自の小さなプラグインを書きたいのですが。そのためには、まず最初に、書き換えルールを実行します。私は2時間Webを見回していますが、質問に対する答えはまだ見つかりませんでした。 このようにしたい:http://www.mysite.com/de/post-title/またはhttp://www.mysite.com/de/projects/project-title/ 基本的に、私がしようとしていることは、現在のURLとそのすべてのパラメーターを保持することです。サイトのURLとパスの間に現在アクティブな言語スニペットを追加するだけです。これまでのところ私のコードです: function rewrite_rule_de(){ add_rewrite_tag('%lang%','([^&]+)'); add_rewrite_rule('^de/(.+?)/?$', 'index.php?p=$matches[1]&lang=de', 'bottom'); global $wp_rewrite; $wp_rewrite->flush_rules(); } add_action('init', 'rewrite_rule_de');

2
アップグレード機能を維持しながらプラグインをカスタマイズする方法
現在、WordPressプラグインの1つに対するメジャーアップデートに取り組んでいます。 プラグインを使用すると、ユーザーはいくつかの利用可能なスキンから選択できます。かなり頻繁に、カスタムスキンの作成を求められます。このスキンがアップグレード時に削除されないようにするには、WordPressフックを使用してプラグインの自動更新を無効にする必要があります。プラグインを更新できるようにしたいので、これは明らかに理想的ではありません。問題は、WordPressが更新を処理する方法です。プラグインフォルダーを削除し、新しいバージョンをインストールするだけです。したがって、実際には古いバージョンの一部ではなかったファイルを削除します。 現在、私がそれを回避できる唯一の方法は、2つのスキンフォルダーを持っていることです。1つはプラグインフォルダーに、もう1つはアップロードフォルダーにあります。これが本当にこれをユーザーに提供できる唯一の方法ですか?

4
テンプレートパーツ名の変数はありますか?
get_template_part()(またはlocate_template())でテンプレートを呼び出したものの1つは、現在どのテンプレートにいるかを知る方法です。 たとえばget_template_part('loop','archive');、archive.php そして、あなたのloop-archive.phpファイルで働いています。現在のテンプレートパーツの名前を持つ変数を定義する方法はありますか$template = 'loop-archive'。さらに良いのは、おそらく「ループ」と「アーカイブ」の2つの部分に分かれていますが、文字列を分割することで実現できます。 質問#10537は関連しているようですが、テンプレートパーツをカバーしていないようです。

1
画像サイズに応じてJPEG圧縮を変更する
ショート。「大きな」画像を90%圧縮し、「中」を60%圧縮したい。あなたが知っている多くのafを持っています、時々大きな画像は高圧縮の影響を受けますが、他の小さな画像はそうではありません。 この機能により、すべてのjpg画像をリサンプルできます function custom_jpg_compression($args) { return 90; } add_filter('jpeg_quality', 'custom_jpg_compression'); 画像サイズでフィルタリングするには?
8 filters  images 

1
既存のパーマリンクから日付を削除する方法は?
ブログの日付について調査したところ、既存の投稿から日付を削除することをお勧めします。 検討してください: セルフホスト(Bluehost上) 1,000以上の既存の投稿 すべての投稿はGoogleによってインデックスに登録され、多くの投稿は他のドメインからリンクされています。多くの投稿はブログ内にリンクされています。リンクを壊したくない。 Google内でPagerankや投稿の年齢を失いたくない。トラフィックのほとんどはGoogleからのものであり、多くのページがランク付けされているため、これは非常に重要です。 現在のURLは次のとおりです。 http://www.thedomain.com/blog/2012/07/01/blah-blah-blah-blah/ 新しいURLは http://www.thedomain.com/blah-blah-blah-blah/ ModRewriteで実行できることは知っていますが、これが最善の方法ですか?Googleは同じ投稿であることを知っていますか? パーマリンクを変更することは可能ですか?

2
「投稿」を管理者から削除しますが、カスタム投稿を表示します
チェックアウト後:http : //codex.wordpress.org/Function_Reference/remove_menu_page、 私は次のコードを使用してメニューからいくつかのものを非表示にしました: add_action( 'admin_menu', 'my_remove_menu_pages' ); function my_remove_menu_pages() { remove_menu_page('link-manager.php'); remove_menu_page('tools.php'); remove_menu_page('users.php'); remove_menu_page('edit-comments.php'); } ただし、「投稿ページ」とカスタム投稿タイプページの両方がで実行されているよう/wp-admin/edit.phpです。 そこで、投稿のメニューバーを非表示にする方法を探していますが、追加したカスタム投稿タイプのメニューを表示しています。


1
add_filterを使用して配列に新しい要素を挿入する
add_filter('example_filter', function(){ return array( 'tax1' ); } ); add_filter('example_filter', function(){ return array( 'tax2' ); } ); add_filter('example_filter', function(){ return array( 'tax3' ); } ); print_r( apply_filters( 'example_filter', array()) ); 結果は Array ( [0] => tax3 ) add_filterを使用してこの配列に新しい要素を挿入する方法を理解できませんでした。適切な方法は何ですか?
8 filters  array 

2
ウィジェットのタイトルを動的に変更する方法はありますか?
いくつかのカスタムサイドバーに多数のウィジェットがある場合があります。各ウィジェットのタイトルを動的に変更する簡単な方法があるかどうか疑問に思っています。通常、ウィジェットには、手動またはプラグイン自体に設定できるタイトルフィールドがあります。 各ウィジェットのタイトルに投稿ごとのメタフィールド値のようなものを追加したいと思います。 ロジックは次のようになります。 $dynamic_title = get_the_title(); // add a filter to change the widget titles per post value // // The widget title would be something like "Recent Posts for $dynamic_title" widget_titleフィルターがあることは知っていますが、特定のウィジェットをどのようにターゲットにしますか? ps。register_sidebar特定のタイトルを必要とする多くのウィジェットがあるため、通常のパラメーターを使用できません。
8 widgets  title 

2
分類法による複数の投稿タイプのアーカイブのパーマリンク構造
最近、高度なWordPressプロジェクトに取り組んでいますが、カスタム投稿タイプのパーマリンク構造を変更することに行き詰まっています。 私は3つの投稿タイプを作成しました。たとえば、type1、type2、type3と、それらすべてに登録された分類テストです。カスタム分類法cat1、cat2、cat3に 3つの用語があります これが私が達成したいことです: 猫からのすべての投稿にアクセスする代わりに siteurl / test / cat1 私は次のような分類法の猫によって各投稿タイプのアーカイブにアクセスしたいと思います: siteurl / type1 / cat1

4
ループの外で投稿公開日を取得するにはどうすればよいですか?
投稿投稿を自動的に期限切れにするには、投稿公開日を引き出す必要があります。問題は、正しい発行日を取得できないことです。 これが私のコードです: global $wpdb; $post_ids = $wpdb->get_results( "SELECT ID FROM $wpdb->posts WHERE post_status ='publish'" ); foreach($post_ids as $id){ $postdate = get_the_date("Y-m-d",$id ); //here is what I can figure out ....... ......etc } $ postdateをエコーすると、間違った日付が表示されます。wp_postsテーブルに存在する日付ではありません。 日付を正しく取得するにはどうすればよいですか?
8 database  date 


1
条件付き(ブラウザ固有)JavaScriptファイルを登録してエンキューしますか?
WP.SEコミュニティは常にの使用をお勧めしているwp_register_scriptとwp_enqueue_script(と同様に、テーマ/テンプレートにスクリプトを追加するwp_register_styleと、wp_enqueue_styleスタイルシートのため)。 これは、スクリプトを登録してエンキューする方法です... 最初に、私はfunctions.phpにこのようなものを追加します add_action('init','wpse54189_register_script'); function wpse54189_register_script(){ //Register scripts wp_enqueue_script( 'jquery' ); wp_register_script( 'aahan_bootstrap_transition', get_template_directory_uri().'/js/bootstrap-transition.js'); wp_register_script( 'aahan_bootstrap_carousel', get_template_directory_uri().'/js/bootstrap-carousel.js', array('aahan_bootstrap_transition')); wp_register_script( 'wpse54189_ajax_comment', get_template_directory_uri().'/js/no-reload-comments.js'); } 次に、次のようにテンプレートファイル(たとえば、header.php)で呼び出します。 <?php wp_enqueue_script( 'aahan_bootstrap_carousel' ); ?> <?php wp_enqueue_script( 'wpse54189_ajax_comment' ); ?> さて、要点を説明しますが、特定のブラウザによって認識される「条件付きJavaScriptファイル」を登録してエンキューするにはどうすればよいですか?例えば: <!--[if lt IE 9]> <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> <![endif]--> これを適切に登録してエンキューするにはどうすればよいですか? PS:私はAutomatticのテーマラングラーによって開発されたReddleテーマを使用しています。そして、テーマのheader.phpは、前述のコードを直接使用します-つまり、エンキューされません。だから、それはそれを行う唯一の方法だということですか?

5
バックアッププロセスの自動化(30以上のWebサイト)
私はますます多くのWordPressサイトを実行しているだけでなく、クライアントのためにいくつかのサイトを実行しています-アップグレードを実行するためのログインは面倒になっています。できれば単一のコマンドラインスクリプトからプロセスを自動化し、すべてのサイトを一度にアップグレードする方法を探しています。 私の理想は、WordPressに組み込まれている非常に優れた自動バックアップに接続し、30サイトすべてに対してサーバーからトリガーすることです。それは、ファイルの更新、そしてデータベースをカバーします。 私が24時間ごとにバックアップしているすべてのWebサイトはアップグレードが始まる前にバックアップすることが優先事項ではありません(ただし、バックアップが多すぎることは決してありません!)。ただし、サイトが破損したかどうかを判断する手段は、興味深い機能です。 私はバックアップに建てに直接フックすることができないと仮定すると、私が見つかりました。これを、多かれ少なかれは私が考えていた方法で動作するが、データベースのアップグレードを実行しません。これにより、管理者がログインして更新を実行するまで(最大72時間)、Webサイトが脆弱になる可能性があることを理解しています。 SVNとGITを使用して更新を実行する概念にも精通していますが、このルートを下に移動する場合、a)/ wp-contentファイルが破損していないこと、およびb )サイト全体のファイル権限は保持されます(スクリプトがrootユーザーとして実行される場合)。

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