yah!!
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 一般設定でサイトアドレスを変更後にプラグインやツールバーの動作がお・サイトアドレス:
WordPress アドレス:http://サイト名.sakura.ne.jp/wp
サイトアドレス(変更前):http://サイト名.sakura.ne.jp
サイトアドレス(変更後):http://サイト名.co.jpということですが、
「WordPress アドレス」を独自ドメインから見たURLにしてみると問題解決すると思われます。つまり
WordPress アドレス:http://サイト名.co.jp/wp設定を変更するとログインしなおす必要がありますが、そのURLは次のようになっているはずです。
http://サイト名.co.jp/wp/wp-login.phpここからログインして、サイトを見ると、管理バーが表示されているものと思います。
試してみていただけますか?
フォーラム: プラグイン
返信が含まれるトピック: textarea指定のフォームの横幅、縦幅が変わらないContact Form 7のtextareaの記述の仕方は
[textarea your-message]
cols(幅) rows(高さ)を指定するには
[textarea your-message 50×10]
のように記述します。
この場合にはきだされるタグは<textarea name="your-message" cols="50" rows="10" class="wpcf7-form-control wpcf7-textarea"></textarea>
となるはずです。
このように記述しても思い通りにならないということですね?
cssの設定等が優先されてしまっているでしょうか。
ChromeやFirefoxで「要素の検証」「要素の調査」(検証したいエリアで右クリック)などを使用して、適用されている設定を確認してみれば原因が分かるかもしれません。
ヒントになればよいのですが・・・
フォーラム: 使い方全般
返信が含まれるトピック: 複数タグ全部を含む投稿idをsql文で抽出フォーラム: 使い方全般
返信が含まれるトピック: 複数タグ全部を含む投稿idをsql文で抽出gatespaceさん、ご回答ありがとうございます。
そうですよねぇ。WordPressの便利な関数を使え、という感じですよね。
カスタムフィールドの値をそのまま検証するなら、WordPressの関数だけでかなり複雑な条件の絞り込みも可能なのですが、他の条件の兼ね合い(下記詳述)でWordPressの関数だけでは対応できないケースです。
例えば、カスタムフィールドに格納された料金情報を元に消費税やら割引などを適用した値で絞り込みする場合は、meta_valueを素のままではなく消費税やら割引率やらを適用(計算)した値で絞り込みを行う必要があります。そのような計算はWordPress関数では不可能ですが、sql文では可能です。
投稿を、
①そのような計算の伴う絞り込みを行いつつ、且、
②複数のtagを持つ、という絞り込み条件を加えようとしています。①で絞り込んだあと、loop内で一つ一つtagのありなしを判断することはできますが、それも賢い方法でもないし
などと考えてフォーラムで質問させていただきました。と、ここまでこの投稿を記述してきたのですが、
今回の場合は、その計算値が変動せず固定値にできますので、投稿の保存時に別のカスタムフィールドに最初から計算値を格納することができそうです。
そうすれば、絞り込み時の計算が必要ないので、WordPressの関数の組み合わせで実現できますね。でも、将来、今回の質問の答えが必要になると思いますので、
sql文での解決方法、もしくは、こうすればというお知恵がありましたら、
どなたかご提案いただけないでしょうか。ちょっとの間だけまだこのトピックをオープンにさせていただきます。
よろしくお願いいたします。フォーラム: プラグイン
返信が含まれるトピック: URL毎にウィジェットを変えたいJetpackという有名な統合プラグインがありますが、その最新版で「ウィジェット表示管理」という機能が追加されました。これがもしかしたら使えるかもしれません。
この機能を有効にすると、各ウィジェットの「保存」ボタンの横に「公開状態」というボタンが追加されます。これをクリックすると、そのウィジェットを表示/非表示する条件を様々設定できるようになっています。
URLでの指定ではありませんが、特定のカテゴリや固定ページでの制御ができるようなので、もしかしたらご要望のことを行えるかもしれません。意図と違っていたらごめんなさい。
参考まで。
フォーラム: プラグイン
返信が含まれるトピック: theme my loginで英語表記の部分を日本語にしたい実装してみました。
以下のコードで出来ました!(私の環境では・・・)//プロフィール編集時のエラー function tml_profile_errors( $errors ) { $rep1 = array(); $rep2 = array(); array_push($rep1, "<strong>ERROR</strong>"); array_push($rep2, "<strong>エラー</strong>"); array_push($rep1, "You entered your new password only once."); array_push($rep2, "新しいパスワードが1回しか入力されていません。"); array_push($rep1, "Please enter the same password in the two password fields."); array_push($rep2, "パスワードは同じものを2回入力してください。"); array_push($rep1, "Please enter an e-mail address."); array_push($rep2, "メールアドレスをご入力ください。"); foreach ( $errors -> errors as $key => $val ) { for ($i = 0; $i <= count($val); $i++) { $tmp = str_replace($rep1,$rep2,$val[$i]); if ( $tmp ) { unset($errors->errors[$key][$i]); $errors -> add($key, $tmp); } } } } add_filter( 'user_profile_update_errors', 'tml_profile_errors' );
登録時とプロフィール更新時とではエラーの持ち方がちょっと違ったようですね。
簡単に説明すると、
$errorを受け取って解析しているわけですが、
エラー文字列を一行ずつ($val[$i])解析して、
$rep1にマッチする文字列があった場合
その配列をunset(削除)して
かつ、$rep2の該当する文字列を$errorに追加
という感じの処理をしています。今度こそ・・・
フォーラム: プラグイン
返信が含まれるトピック: theme my loginで英語表記の部分を日本語にしたいfirthさん、コメントしてくださったいたのに気付いていませんでした。
大変失礼いたしました。return $custom_error; return $errors;
の2行目ですが、これを削除(もしくはコメントアウト)していただくとどうなるでしょうか。
この$errorsは置換前の英語が含まれる配列ですから、これはreturnしません。フォーラム: プラグイン
返信が含まれるトピック: theme my loginで英語表記の部分を日本語にしたいご紹介した記事は、Theme My Loginを使って登録フォームを作成するシリーズの一部分です。
そこから紹介すべきでした。失礼いたしました。この記事は、入力項目のバリデートを紹介した記事の続きとなっています。
「新規ユーザー登録時のバリデート」のコードをfunctions.phpに記述します。
バリデートがエラーメッセージをはきだしますので、そのロジックに追加記述することで英語のままの文字列をお好みの日本語に置換しているということです。必要に応じて編集する必要がありますが、functions.phpに記述するfunctionはバリデート部分と英語→日本語置換部分とをマージして以下のような感じになります。
/*********************************************** * 新規ユーザー登録時のバリデート ***********************************************/ function tml_registration_errors( $errors ) { $tel_format="/^[0-9]{2,3}\-[0-9]{3,4}\-[0-9]{3,4}$/"; if ( empty( $_POST['last_name' ] ) ) $errors->add( 'empty_last_name', '<strong>エラー</strong>: お名前を入力してください'); if ( empty( $_POST['user_name_kana'] ) ) $errors->add( 'empty_user_name_kana', '<strong>エラー</strong>: お名前フリガナを入力してください' ); if ( empty( $_POST['user_tel'] ) ) { //電話番号が入力されていな場合のエラー $errors->add( 'empty_user_tel', '<strong>エラー</strong>: 電話番号を入力してください' ); } else { //電話番号は入力されているが書式が間違っている場合のエラー if ( !preg_match($tel_format,$_POST["user_tel"]) ) { $errors->add( 'error_user_tel', '<strong>エラー</strong>: 電話番号の書式が間違っています' ); } } if ( !empty( $_POST['user_fax'] ) && !preg_match($tel_format,$_POST["user_fax"]) ) { //FAX番号は入力されているが書式が間違っている場合のエラー(空はOK) $errors->add( 'error_user_fax', '<strong>エラー</strong>: FAX番号の書式が間違っています' ); } if ( empty( $_POST['user_confirm' ] ) ) $errors->add( 'empty_user_confirm', '<strong>エラー</strong>: 会員規約に同意をチェックしてください' ); // tml_registration_errors に追記部分 $rep1 = array(); $rep2 = array(); array_push($rep1, "<strong>ERROR</strong>"); array_push($rep2, "<strong>エラー</strong>"); array_push($rep1, "Please enter your password twice."); array_push($rep2, "パスワードを2回入力してください。"); array_push($rep1, "Please enter the same password in the two password fields."); array_push($rep2, "パスワードは同じものを2回入力してください。"); array_push($rep1, "This username is already registered, please choose another one."); array_push($rep2, "同じメールアドレスがすでに登録されているため、ユーザー名を確定できません。"); array_push($rep1, "ユーザー名を入力してください。"); array_push($rep2, "ユーザー名を確定できません。メールアドレスを入力してください。"); $custom_error = new WP_Error(); foreach ( $errors -> errors as $key => $val ) { $tmp = str_replace($rep1,$rep2,$val[0]); $custom_error -> add($key, $tmp); } return $custom_error; // return $errors; } add_filter( 'registration_errors', 'tml_registration_errors' );
functions.phpの記述で完結できますので、コアファイル等は使用する必要はありません。
しかしながら、これは登録時のエラーをフックする方法です。
firthさんのトピックを見ると、プロフィールページということでしたね。
user_profile_update_errorsというフックがあるようです。
試していませんが、add_filterのところをuser_profile_update_errorsにフックするようにすればよいのかもしれません。
参考に。フォーラム: プラグイン
返信が含まれるトピック: theme my loginで英語表記の部分を日本語にしたい4か月も前の投稿なので、もはや回答は不要かもしれませんが・・・
最近、この件をまとめましたので参考にしてみてください。
ユーザー登録時のエラーメッセージの制御(翻訳不可文字列の対応)フォーラム: プラグイン
返信が含まれるトピック: 日本語化されていない部分を日本語にしたい当方も同じ問題に苦慮しています。
登録時にも同様の問題が生じます。
theme my loginでcustom passwordを有効にして、登録時に2番目のパスワードを空欄のまま登録しようとすると、次の英語メッセージが表示されます。ERROR: Please enter your password twice.
しかし、こちらは登録時エラーメッセージのフック(registration_errors)がありますので、対応できました。
しかしprofileについてはフックを見いだせませんでした。
http://wordpress.org/support/topic/password-update-error-messages-not-localized?replies=2
上記で取り上げられていますが、本来管理画面内に表示するものをテーマに取り込んでいるために、正しいpoファイルを読みに行かなくなっているようです。プラグイン作者が述べている
Perhaps setting the constant WP_ADMIN to true while on the profile page will do the trick?
の方法をどなたかご教授いただけないでしょうか。よろしくお願いいたします。
フォーラム: テーマ
返信が含まれるトピック: 今日の投稿をまとめて表示したい投稿日付を変数に代入しておき、次のループの際に、前回のループの代入値と今回の代入値とが
異なっていれば日付を表示
同じであれば日付表示をスキップとすればご希望どおりになるかと思います。
時間と分までを含めると、日付ごとになりませんので、注意。次のようなイメージです。(日付以外は省略してます)
<?php $dt1 = '';//←なくてもいいですが、分かりやすいようにループ開始前は空です。 while (have_posts()) ://ループ開始 the_post(); $dt2 = get_the_time('Y年m月d日'); if ($dt1 != $dt2) {//前回のループの日付と、今回のループの日付が異なっていれば echo "【{$dt2}】"; $dt1 = $dt2; } ?> 書いた記事内容 <?php endwhile;//ループ終わり ?>
フォーラム: テーマ
返信が含まれるトピック: あるカテゴリーに属している記事一覧について1ページに表示する最大投稿数はデフォルトで10件になっています。
これを変えるには、[管理画面/設定/表示設定]の「1ページに表示する最大投稿数」の数値を変更します。
投稿をループさせているすべてのページに影響する設定なので、特定のループのみ、その表示件数を制御したい場合には、以下の引数を使います。
・showposts(もしくは)posts_per_page詳しくは以下をご覧ください。
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_postsしかし、ご質問の文面を見ると、トップページの一部のコンテンツとして特定のカテゴリの記事一覧を表示したいということのですから get_posts で抽出することを強くお勧めします。
例えば
<?php $args = array( 'cat => 5,//抽出したいカテゴリのカテゴリID(複数の場合はカンマで区切る) 'category__not_in' => array( 46 ),//除外したいカテゴリがある場合 'posts_per_page' => 10//リストしたい投稿数 ); $newpost = get_posts($args); if ( count($newpost) > 0 ): ?> <dl> <?php foreach($newpost as $post): setup_postdata($post); ?> ・・・ループ・・・ <?php endforeach; ?>
フォーラム: テーマ
返信が含まれるトピック: ログイン状態がセッションを終了すると維持されない