フォーラムへの返信

10件の返信を表示中 - 16 - 25件目 (全25件中)
  • トピック投稿者 sonic65

    (@sonic65)

    先ほどの訂正です。

    時間があったのでadd_form.jsを調べてみました。
    さっきの132行目〜をコメントアウトしてもフォーム要素のタイトルの変更が出来てしまいました。(Chromeのみでチェック)

    それで、314行目〜の

    s.children("input").blur(function(){
    	if (a(this).attr('title') == a(this).val()) {
    		a(this).parent().html('');
    	} else {
    		a(this).parent().html(a(this).val());
    	}
    	//確認画面へも要素を反映(パフォーマンスが悪くなれば、アルゴリズムを変える)
    	addTrustForm.asyncForm();
    });

    a(this).parent().html(a(this).val());

    をコメントアウトするとタイトルの編集が出来なくなりました。
    フォーム要素のタイトルの編集に限っては、その他のJavaScriptの命令ではなくここで行っているってことだと思います。

    環境によっては、textchangeプラグインでの発火が必要なのかもしれませんが、こちらで試した環境では、フォーム要素のタイトル編集では、add-form.jsの420行目〜の部分

    //テキストボックスへの入力値をvalueに反映
    	a("input[type=text]").bind("textchange", function(){
    		a(this).attr('value', a(this).val());
    	});

    は必要ないようです。

    サーバー:ロリポップ及びシックスコア
    (PHP5.4とPHP5.3だと思います)

    ブラウザ : Safari&Chrome

    参考になればと思います。

    トピック投稿者 sonic65

    (@sonic65)

    作者様!
    直接のお返事ありがとうございます!
    add-form.jsの420行目〜の部分

    //テキストボックスへの入力値をvalueに反映
    	a("input[type=text]").bind("textchange", function(){
    		a(this).attr('value', a(this).val());
    	});

    をコメントアウトしたい理由としては、管理者宛メールボックス内の件名を編集するときにカーソルをテキストの先頭や途中に持って行き、そこで文字を入力(keydown)するとカーソルが文字列の最後に勝手に移動してしまうケースがありまして、いろいろ調べたところここのイベントを削除すると解決するようなのです。

    それで、ここの命令をコメントアウトしても、Trust Formのフォーム要素の編集ができるので、この処理はどこで必要なのかなと疑問に思った次第であります。

    それで、add_form.jsの132行目あたりに以下のような処理があるので、こちらが動いてフォーム要素のタイトルなどちゃんと反映しているのかなと思っています。

    //各要素のタイトルを編集するためのクリックイベント
    	a(".setting-element-title > div.subject > span.content, .setting-element-title > div.submessage > span.content").live("click", function(){
    		if (!a(this).children("input").length) {
    			a(this).removeClass('subject-hover');
    			a(this).html(a('<input>',{type:'text',val:a(this).html()}));
    			a(this).children("input").focus().select().blur(function(){
    				a(this).parent().html(a(this).val());
    	//確認画面へも要素を反映(パフォーマンスが悪くなれば、アルゴリズムを変える)
    				addTrustForm.asyncForm();
    			});
    		}
    	});

    自分はそれほどJavaScriptが得意ではないので、見当違いかもしれません。

    情報ありがとうございました。
    少し運営してみて問題なければ、このままやってみます。

    トピック投稿者 sonic65

    (@sonic65)

    ありがとうございます。
    そうですね、JSの件は作者さんに聞いた方が早いかもですね。
    WP公式プラグインのページにsuportフォーラムがあるようなのでそちらで質問してみます。

    インスタンスの変数代入含めて、GitHubでプルリクエストしてみるのもいいかもしれませんね。

    こちらの質問は解決ということでCloseいたします。

    トピック投稿者 sonic65

    (@sonic65)

    調べたところ、フォームの入力文字数をカウントするjQueryプラグイン「Textchange」
    http://zurb.com/playground/jquery-text-change-custom-event
    を使っていて、それを「add-form.js」で設定しているようです。
    そしてカーソルの動きがおかしいのはそれの影響の様子です。

    テストでadd-form.jsの421行目から423行目あたりまでをコメントアウトするとマウスカーソルの位置が変わる現象は改善されます。

    //テキストボックスへの入力値をvalueに反映
    a("input[type=text]").bind("textchange", function(){
    	a(this).attr('value', a(this).val());
    });

    ここのスクリプトをコメントアウトするとどんな影響があるのか、ちょっと追えきれていないです。
    *なんか意味がないスクリプトのような気がするんですが、どうなんでしょうか?

    また、ここをコメントアウトしてもプラグインをバージョンアップするとまた元に戻ってしまうので、remove_actionして、別のJSファイルを読み込ませればと思ったのですが、trust-form.phpファイル内のTrust_Formクラス内で、

    add_action( 'admin_enqueue_scripts', array( &$this, 'admin_javascript' ) );

    とadd_actionをしています。

    それで、Trust_Formクラスは、変数に代入せずに

    new Trust_Form();

    としています。
    変数に代入していない場合は、これをremove_actionするのは無理でしょうか?
    なにか他に方法があるようでしたらご教授お願いいたします。

    トピック投稿者 sonic65

    (@sonic65)

    >gatespaceさま

    特定のプラグインの機能に関するものであれば、本文中よりもタイトルに含めることをおすすめします。

    了解しました。
    ありがとうございました。

    トピック投稿者 sonic65

    (@sonic65)

    これで自己解決でいいのでしょうか?

    http://wpdocs.sourceforge.jp/WordPress_を専用ディレクトリに配置する

    の手順で作業をしても
    WP設置の専用ディレクトリ内の.htaccessが

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    〜以下省略

    となっている場合があります。
    (RewriteBase /の箇所)
    それでもSiteGuard WP Plugin「ログインページ変更」以外の動作は問題なく動いている様子なのです。

    「RewriteBase /」の箇所を「RewriteBase /”WP設置ディレクトリ”/」
    とすれば問題なく使えます。

    こちらの件に関して他の方のご意見お聞きしたいです。
    例えば専用ディレクトリにする場合は専用ディレクトリ内の.htaccessのRewriteBase は本来ならば必ず”WP設置ディレクトリ”なるはずなどなど。

    よろしくお願いします。

    トピック投稿者 sonic65

    (@sonic65)

    ここからダウンロードできるようです。
    https://downloads.wordpress.org/release/ja/wordpress-4.0.zip
    URLがかわったのかな?

    トピック投稿者 sonic65

    (@sonic65)

    取り合えずサーバー側でキャッシュをコントロールする設定にしました。

    .htaccessに
    <Files ~ “\.(php)$”>
    Header add Pragma “no-cache”
    Header set Cache-Control no-cache
    </Files>
    としてPHPファイルをキャッシュしないようにしたら上手くいきました。
    サーバー側の設定の問題なのかIEの問題なのか分りませんでした。

    mediaupload.phpを読む時にパラメーターつきで読んでいるみたいなのですが、IEがキャッシュしているとそのパラメーターを無視(前のパラメーター?)で読込んでいると感じました。
    ↑上記はきちんと検証していないので、あくまで予想です。

    何か情報がありましたらよろしくお願いいたします。

    フォーラム: 使い方全般
    返信が含まれるトピック: 「アップロードするファイルの保存場所」
    トピック投稿者 sonic65

    (@sonic65)

    情報ありがとうございます。
    色々試してみます。

    フォーラム: 使い方全般
    返信が含まれるトピック: 「アップロードするファイルの保存場所」
    トピック投稿者 sonic65

    (@sonic65)

    /wp-admin/options-media.phpファイルの100行目辺りの

    if ( get_option('upload_url_path') || ( get_option('upload_path') != 'wp-content/uploads' && get_option('upload_path') ) ) :

    と/wp-admin/options.phpファイルの88行目辺りの同じ様な該当部分をコメントアウトして、入力欄を表示させてパスを入力後、再度該当部分のコメントアウトを取り除くという力技で対処しようと思っています。

    もう少しスマートな方法もあると思うのですが、力不足で思いつきませんでした。

    何かアドバイスをいただければと思います。

10件の返信を表示中 - 16 - 25件目 (全25件中)