フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全95件中)
  • フォーラム: その他
    返信が含まれるトピック: htmlの閉じタグをつけるかどうか
    hokutonojikei

    (@hokutonojikei)

    ご返信いただきましてありがとうございます。

    コーディング規約は xhtml に基づいたものだったんですね。
    グーテンベルクの動きを見てもhtml5ですし
    xhtmlも個人的観測範囲では国内での利用は
    ほとんど聞かなくなっているのでhtml5という基準で考えてみます。
    参考になりました。ありがとうございます。

    フォーラム: 使い方全般
    返信が含まれるトピック: WP_HOME、WP_SITEURLの設定

    返信ありがとうございます!

    確認が遅くなり申し訳ありません。
    ツールありがとうございます。
    自分のDBスキルでは理解するにはもう少し時間がかかりそうなので
    もう少し基礎を勉強してから改めて見てみたいと思います。

    >WP_HOME を変更したり管理画面から変更しても、記事中やメタデータに古いURLが残っています。
    このため、新しいURLでのサイト遷移中に古いURLに遷移してしまったり、リダイレクトループなどの現象が発生したりします。

    今回の問題もおっしゃる通りの現象だと思います。
    メタデータにも残るというところが知りたかったので
    大変参考になりました。
    まずはURLを変換する方法を模索してみます。

    貴重な情報ありがとうございました!

    フォーラム: 使い方全般
    返信が含まれるトピック: wpdbでのp.という記述につきまして

    munyaguさん、ご返信ありがとうございます。

    コアに記述があったんですね。
    自分でも再度確認してみます。

    SQLのページも参考になります。
    こんな方法で確認ができるんですね。

    原因がわかり助かりました。
    ありがとうございました!

    フォーラム: 使い方全般
    返信が含まれるトピック: 表示設定をした時にリダイレクトループが発生
    hokutonojikei

    (@hokutonojikei)

    解決いたしました。貴重なスペースありがとうございました。
    cloudfront側の設定が違っていたのが原因でした。

    一応ログ残します。不適切でしたらお手数ですがスレッドごと削除をお願いいたします。
    cloudfront管理画面のBehaviorタブの
    Cache Based on Selected Request Headersの設定をALLにすると直りました。

    おそらくヘッダリクエストのところで
    リダイレクトループが発生していたのが原因だと予想していますが
    wordpressの表示設定をいじった瞬間からリダイレクトループが発生したので
    こちらにも質問させていただいた経緯がありました。

    フォーラム: 使い方全般
    返信が含まれるトピック: おすすめのプラグイン開発の構成

    Okamoto Hidetakaさん、コメントありがとうございます!

    すでに購入済みです^^;仰る通りで
    当初フックに$thisを追加するくだりがわからず助けられました。
    内容も分かりやすく、他にも便利なテクニック満載でかなり勉強になっていますm(_)m
    4-5,4-6以外にも関連のありそうなところは見てみたのですが
    今回のケースが載ってなかったと記憶しておりますが
    見落としがあったのかもしれません。
    再度探してみます!ありがとうございます!

    • この返信は2年、 5ヶ月前にhokutonojikeiが編集しました。
    • この返信は2年、 5ヶ月前にhokutonojikeiが編集しました。
    フォーラム: 使い方全般
    返信が含まれるトピック: 埋め込みページにWPのデータを渡したい

    こんにちは。page.phpには以下のような形で埋め込まれていると仮定して予想してみます。

    qiita.com/kawai_norimitsu/items/bb2eacf2c6b602683b70

    上記のようにbody内にjsしかなくjsの画面内にwpから取得した値を表示する際は
    wp関数(php)からjsに値を渡す必要がありますが
    こういったことでしょうか。

    やり方は「phpからjavascriptに変数を渡す」で検索すると色々出てくると思います。

    埋め込みページに直接PHPで書いてみてもやはりダメでした。

    上記の状況であればデベロッパーツールでhtmlソースを確認した際には
    データが読み込まれているのではないでしょうか。

    以上予想ですが違っているようでしたら詳しい状況を書けるようでしたら
    また何か解れば書かせていただきます。

    • この返信は2年、 5ヶ月前にhokutonojikeiが編集しました。理由: リンク追加しました
    フォーラム: 使い方全般
    返信が含まれるトピック: おすすめのプラグイン開発の構成

    munyaguさん度々のコメントありがとうございます。

    クラス設計ではフレームワークに合わせていつインスタンス化し、いつメンバーに値をセットし、いつ取り出すかを慎重に設計する必要があります。

    なるほど、ありがとうございます!参考になりました!
    再度プラグインを色々見てみたいと思います。

    フォーラム: 使い方全般
    返信が含まれるトピック: おすすめのプラグイン開発の構成

    munyaguさんコメントありがとうございます!
    実行するのは以下の場所になります。
    wp-content/plugins/test-oo-plugin/test-oo-plugin.php
    または
    themes/page.php

    仰る通りフックで実行するかテンプレートで実行すれば
    get_post()などの実行はできます。
    ただメンバ変数からreturnで値を返したい時に
    フックを使う場合だとreturnが返せないと思います。(何か方法があれば知りたいです)

    public function __construct () {
    		add_action( 'wp', array( $this, 'connect_function' ) );
    		return $this->base_information;
    	}

    ↑としてもフック経由で実行された値が入っていない。

    public function connect_function () {
    		$this->my_Oo_function();
    		$this->get_post_id();
    		return $this->base_information;
    	}

    ↑こちらも同じ理由

    private function get_post_id () {
    	$post_data = get_post();
    	array_push( $this->base_information, $post_data->ID );
    	return $this->base_information;
    }

    ↑こちらも返るのはconnect_function()の部分までで
    結局クラス外に出すことができない?

    そこでいっそのことpage.phpでクラスをインスタンス化し
    関数を定義すれば一応実行させることができました。

    
    wp-content/plugins/test-oo-plugin/test-oo-plugin.php
    
    class Test_Oo_Plugin {
    
    	/**コンストラクタを外す
    	public function __construct () {
    		add_action( 'wp', array( $this, 'connect_function' ) );
    	}
    	 */
    
    	/**
    	 * 基本情報を格納する配列
    	 */
    	private $base_information = array();
    
    	/**
    	 * この関数をテーマのpage.phpで呼び出す。
    	 */
    	public function connect_function () {
    		$this->my_Oo_function();
    		$this->get_post_id();
    		return $this->base_information;
    	}
    
    	/**
    	 * 現在のユーザー名を取得し配列に格納
    	 */
    	private function my_Oo_function () {
    		$my_original_current_user = wp_get_current_user();
    		array_push( $this->base_information, $my_original_current_user->user_login );
    	}
    
    	/**
    	 * 現在のIDを取得し配列に格納
    	 */
    	private function get_post_id () {
    		$post_data = get_post();
    		array_push( $this->base_information, $post_data->ID );
    	}
    }
    
    function user_function($information_instans) {
    	foreach ( $information_instans as $key => $value ) {
    		echo '<br><hr><br>' . $key . ':' . $value . '<br><hr><br>';
    	}
    }
     themes/page.php
    
     $test_oo_plugin = new Test_Oo_Plugin();
     user_function($test_oo_plugin->connect_function ());

    上記で動くことは動きますが以下の点が気になっております。
    ・後から読んだ際の可読性が悪くなりそう
    (この辺りは自分の経験が少ないのでご意見を伺いたいです。)
    ・処理がテーマ→プラグイン→テーマ・・・となりそうなので
    プラグイン内で完結できる方法などがあれば知りたいです。
    ・get_postなどの関数はグローバル変数に値を保存するように作られていると思います。
    今回のようにカプセル化をする必要がないと考えて設計したほうが良いのでしょうか。

    • この返信は2年、 5ヶ月前にhokutonojikeiが編集しました。理由: 追記しました
    フォーラム: 使い方全般
    返信が含まれるトピック: おすすめのプラグイン開発の構成

    munyaguさんコメントありがとうございます!

    実行するのは以下の場所で考えています。
    wp-content/plugins/test-oo-plugin/test-oo-plugin.php

    または

    themes/page.php
    ただ実行場所も含めて迷いがあり、おすすめがありましたら知りたいです。

    仰る通りフックで実行するかテンプレートで実行すれば
    get_post()などの実行はできます。
    ただtest-oo-plugin.phpのクラス内メンバ変数からreturnで値を返したい時に
    フックを使う場合だとreturnが返せないと思います。(何か方法があれば知りたいです)

    public function __construct () {
    		add_action( 'wp', array( $this, 'connect_function' ) );
    		return $this->base_information;
    	}

    ↑としてもフック経由で実行された値が入っていない。

    public function connect_function () {
    		$this->my_Oo_function();
    		$this->get_post_id();
    		return $this->base_information;
    	}

    ↑こちらも同じ理由

    private function get_post_id () {
    	$post_data = get_post();
    	array_push( $this->base_information, $post_data->ID );
    	return $this->base_information;
    }

    ↑こちらも返るのはconnect_function()の部分までで
    結局クラス外に出すことができない?そこでいっそのことpage.phpでクラスをインスタンス化し
    関数を定義すれば一応実行させることができました。

    【test-oo-plugin.php】

    class Test_Oo_Plugin {
    
    	/**
    	 * コンストラクタを削除
    	public function __construct () {
    		add_action( 'wp', array( $this, 'connect_function' ) );
    	}
         */
    
    	/**
    	 * 基本情報を格納する配列
    	 */
    	private $base_information = array();
    
    	/**
    	 * add_actionに橋渡しする関数
    	 */
    	public function connect_function () {
    		$this->my_Oo_function();
    		$this->get_post_id();
    		return $this->base_information;
    	}
    
    	/**
    	 * 現在のユーザー名を取得し配列に格納
    	 */
    	private function my_Oo_function () {
    		$my_original_current_user = wp_get_current_user();
    		array_push( $this->base_information, $my_original_current_user->user_login );
    	}
    
    	/**
    	 * 現在のIDを取得し配列に格納
    	 */
    	private function get_post_id () {
    		$post_data = get_post();
    		array_push( $this->base_information, $post_data->ID );
    	}
    }
    
    function user_function($information_instans) {
    	foreach ( $information_instans as $key => $value ) {
    		echo '<br><hr><br>' . $key . ':' . $value . '<br><hr><br>';
    	}
    }

    【page.php】

     $test_oo_plugin = new Test_Oo_Plugin();
     user_function( $test_oo_plugin->connect_function() );

    上記で動くことは動きますが以下の点が気になっております。
    ・後から読んだ際の可読性が悪くなりそう
    (この辺りは自分の経験が少ないのでご意見を伺いたいです。)
    ・このまま拡張すると処理がテーマ→プラグイン→テーマ・・・となりそうなので
    プラグイン内で完結できる方法、add_action経由でreturn返す方法があれば知りたいです。
    ・get_postなどの関数はグローバル変数に値を保存するように作られていると思います。
    今回のようにカプセル化をする必要がないと考えて設計したほうが良いのでしょうか。
    またご不明点などありましたら突っ込んでいただければ幸いです。
    よろしくお願いいたします。

    • この返信は2年、 5ヶ月前にhokutonojikeiが編集しました。理由: 改行されていない部分があった
    • この返信は2年、 2ヶ月前にNaoko Takanoが編集しました。
    フォーラム: 使い方全般
    返信が含まれるトピック: class内の関数をprivateにして呼び出したい

    munyaguさん、質問が不適切とのことで失礼いたしました。
    仰る通りPHPの質問に見えてしまう書き方をしてしまいましたので
    新しくトピックを作成しなおしたいと思います。

    Takahashi Fumikiさん、ご返信ありがとうございます。

    wordpressルートディレクトリ直下のファイルは削除されないんですね。
    この辺りがはっきりしなかったので助かりました。

    またvendorディレクトリの件もありがとうございます。
    プラグインで管理するというやり方は知りませんでした。
    composer自体今回初めて触ったのでセキュリティ的な作法も含めあらためて調査してみます。
    貴重な情報ありがとうございました。

    munyaguさん、ご返信ありがとうございます。

    >そこがドキュメントルートである場合、.htaccessやrobot.txtを削除されたりしたら動作に支障をきたすからです。

    今まで意識したことがなかったですが言われてみればその通りですね。
    そう考えるとwordpressはやっぱりすごい考えられてますね~

    chattrコマンドのiオプションは知りませんでした。
    試してみます。貴重な情報ありがとうございました。

    CGさん、貴重な経験談ありがとうございます。

    テスト環境を複製して試してみます。

    こんばんは。

    固定ページはカテゴリを持っていないと思うので
    固定ページにカテゴリを追加してあげて
    http://shufulife.com/page-category/

    functions.phpに以下コピペ

    add_action('init','add_categories_for_pages'); 
    function add_categories_for_pages(){ 
    register_taxonomy_for_object_type('category', 'page'); 
    } 
    add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' ); 
    function nobita_merge_page_categories_at_category_archive( $query ) { 
    if ( $query->is_category== true && $query->is_main_query() ) { 
    $query->set('post_type', array( 'post', 'page', 'nav_menu_item')); 
    } 
    } 

    こちらの環境ではTwenty Seventeenでご提示いただいたソースを張り付け
    やってみたところいけましたがいかがでしょうか。

    上記だと投稿のカテゴリと同じものを使いまわす感じです
    固定ページは固定ページでのカテゴリを別に作るとなると
    カスタム投稿タイプ+タクソノミー(カテゴリ)のような形もできると思います。

    • この返信は3年、 2ヶ月前にhokutonojikeiが編集しました。理由: 追加情報
    フォーラム: 使い方全般
    返信が含まれるトピック: パーマリンク入力欄の幅を広げたい

    こんにちは。
    functions.phpに以下を設定しても変化ないでしょうか。
    (コピペする場所はどこでも構いませんが
    もし変化がないようでしたら最初に張り付けるパターンと
    最後に張り付けるパターンをお試しください)

    function my_admin_style() {
      echo '<style>
      #new-post-slug {width: 100%;}
      </style>'.PHP_EOL;
    }
    add_action('admin_print_styles', 'my_admin_style');

    ◆参考ページ
    https://memocarilog.info/wordpress/7570

    ほかに適用されない可能性としては
    http://qiita.com/oh_rusty_nail/items/e896825cd54e5c0a3666

    などがあります。

    うまくいかない場合はデベロッパーツールなどでの
    具体的なテストと結果を張り付けていただければと思います。
    またプラグインなど影響が出そうなものは止めていただいたほうが確実かもです。

    • この返信は3年、 2ヶ月前にhokutonojikeiが編集しました。理由: 間違い修正
15件の返信を表示中 - 1 - 15件目 (全95件中)