kokoen
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 管理画面からスライドショー画像のアップロードフォーラム: 使い方全般
返信が含まれるトピック: 管理画面からスライドショー画像のアップロードなるほど~
それだと過去の画像を上書きせずにすみますね。イベントがないときに、3枚目や4枚目はそのままにしたいというときは不向きかもですね。
まぁ日付を変えればいいだけですけど。フォーラム: 使い方全般
返信が含まれるトピック: 4.1で特定のユーザーのみが固定ページへ飛ばされてしまうadd_action( 'add_attachment', 'wpse_70093_modify_uploaded_file_title' ); function wpse_70093_modify_uploaded_file_title( $attachment_ID ) { $the_post = array(); $the_post['ID'] = $attachment_ID; $the_post['post_name'] = 'attachment-'.$attachment_ID; wp_update_post( $the_post ); }
以上で添付ファイルページの%postname%の変更がうまくいきました。
文法的に正しいかはわかりませんが。フォーラム: 使い方全般
返信が含まれるトピック: 4.1で特定のユーザーのみが固定ページへ飛ばされてしまうfunction wpd_attachment_link( $link, $post_id ){ $post = get_post( $post_id ); return home_url( 'attachment-' . $post->post_title ); } add_filter( 'attachment_link', 'wpd_attachment_link', 20, 2 );
これで画像ページのページスラッグは変更できましたが、管理画面の設定で%postname%としているので、ページスラッグではなくタイトルを読みにいってしまいますね。
フォーラム: 使い方全般
返信が含まれるトピック: 4.1で特定のユーザーのみが固定ページへ飛ばされてしまう返信有難うございます。
投稿はいいのですけど、固定ページでスラッグを任意に指定していたとしても書き換わってしまいそうですね?あとは、
・すべての画像ページのスラッグのみに、attachment- をつける
・画像テンプレートの優先順位を一番下に下げるとかの記事を探してますけどなかなかないです。。
フォーラム: 使い方全般
返信が含まれるトピック: 4.1で特定のユーザーのみが固定ページへ飛ばされてしまう現在アップロードするファイル名・ファイルタイトルを自動的に変更して複雑化することにシフトしています。
function make_filename_hash($filename) { $info = pathinfo($filename); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; $name = basename($filename, $ext); return md5($name) . $ext; } add_filter('sanitize_file_name', 'make_filename_hash', 10);
これでファイル名は変わりましたが、ファイルのタイトルの変え方がわかりません。
「画像ファイルタイトル」がそのままページスラッグになるようなので、「ファイル名」を変えても意味無かったです。フォーラム: 使い方全般
返信が含まれるトピック: 4.1で特定のユーザーのみが固定ページへ飛ばされてしまうattachment.phpを作成して、author.phpの内容をincludeしてみましたが、ユーザーページへは飛んだものの、ユーザーメタの内容は読み込んでくれませんでした。
そもそもが画像だと判断されているので、無理なんですね。フォーラム: 使い方全般
返信が含まれるトピック: 4.1で特定のユーザーのみが固定ページへ飛ばされてしまう返信有難うございます。
>ユーザーのスラッグ(ユーザー名)と、attachmentのページのスラッグが、
>同じ文字列なんじゃないでしょうか。これで間違いないです。
わたしが最近の投稿に555maru.jpgという写真をアップロードしているせいでした。
attachmentのページスラッグは、パーマリンクをカスタム構造にしていると、
ドメイン/ファイル名
でも表示されるんですね。これは困りました。attachmentのページを無くすとか、authorテンプレートを最優先にする、みたいなことは可能なのでしょうか?
フォーラム: 使い方全般
返信が含まれるトピック: 4.1で特定のユーザーのみが固定ページへ飛ばされてしまう返信有難うございます。
そこは、ドメイン/user名 で表示するようになっているとしか申し上げられないのですが、(わたしが作成したものではなく、わからないので)他のユーザーがちゃんと表示されるのに、特定のユーザーだけがそうなので、なにか数字からはじまるIDがマズいとかがあるのかなと思った次第です。
固定ページに画像が表示されていたので、attachmentが関係しているような気もします。フォーラム: 使い方全般
返信が含まれるトピック: ○○日間ログインしていなければという条件分岐返信有難うございます。
最終的には、以下のコードでDBへ入れることが出来ました。function your_last_login($login) { global $user_ID; $user = get_userdatabylogin($login); update_usermeta($user->ID, 'last_login', current_time('mysql')); } add_action('wp_login','your_last_login');
ただcookieが残っててログインしたままになっている場合、最終ログイン時間が更新されないんですよね。。
フォーラム: プラグイン
返信が含まれるトピック: Theme My Loginを使っている方class-theme-my-login.phpに処理が書いてありました。
完全に見落としてました。
ここに上記処理の中身を加えたらうまくいきました。
返信くださったghvstさん、どうも有難うございました。フォーラム: プラグイン
返信が含まれるトピック: Theme My Loginを使っている方WP3.5から加わった比較的新しい関数のようで、実装例がほとんど無かったので参りました。
わたしには敷居が高すぎたようです・・・
ひとまずjQueryで対処することにしました。フォーラム: プラグイン
返信が含まれるトピック: Theme My Loginを使っている方ghvstさん、返信ありがとうございます。
素人ながら↓のような感じでfunction.phpに書いたのですが、うんともすんとも・・です。
// パスワードリセットバリデーション function tml_validate_password_reset( $errors ) { if ( empty( $errors ) ) $errors = new WP_Error(); if ( empty( $_POST['pass1'] ) || empty( $_POST['pass2'] ) ) { $errors->add( 'empty_password', __( '<strong>エラー</strong>: 「パスワード」と「パスワード確認」を入力してください。' ) ); } elseif ( false !== strpos( stripslashes( $_POST['pass1'] ), "\\" ) ) { $errors->add( 'password_backslash', __( '<strong>エラー</strong>: パスワードには文字 "\ \"を含めることはできません。' ) ); } elseif ( $_POST['pass1'] != $_POST['pass2'] ) { $errors->add( 'password_mismatch', __( '<strong>エラー</strong>: パスワードとパスワード確認が一致していません。' ) ); } elseif ( strlen( $_POST['pass1'] ) < 8 ) { $errors->add( 'password_length', __( '<strong>エラー</strong>: パスワードは8文字以上にしてください。', 'theme-my-login' ) ); } else { $_POST['user_pass'] = $_POST['pass1']; } return $errors; } add_filter( 'validate_password_reset', 'tml_validate_password_reset' );
フォーラム: プラグイン
返信が含まれるトピック: Feed JSONを使った表示方法フォーラム: プラグイン
返信が含まれるトピック: Feed JSONを使った表示方法上記リンクを参考に以下のコードで、日付、タイトル形式の表示が実現できました。
// <![CDATA[ function callback(root) { var tags = '<dl>'; for (var i = 0; i < root.length; i++) { tags += '<dt>' + root[i].date + '</dt><dd><a href="' + root[i].permalink + '">' + root[i].title + '</a></dd'+'>'; } tags += '</dl'+'>'; document.writeln(tags); } // ]]>
ただ、日付の表示形式が
2014-04-26 21:06:24
のようになって表示されるので、
2014/04/26
で表示したいです。
調べた限り、PHPのように一発で変換することは出来ないようなので行き詰っております。
プラグインの質問からは脱線している感じがするのですが、どこで質問していいかわからないので、ここで聞かせてください。