サポート » プラグイン » プラグイン「wpDiscuz」の画像添付機能について

  • 解決済 non888

    (@non888)


    プラグイン「wpDiscuz」を使用し、コメントのカスタマイズを行っております。
    カスタム投稿の詳細画面にも「wpDiscuz」でコメント機能を追加したのですが、コメント投稿時の画像添付機能が動作しない状態です。
    投稿の方に同様にコメント機能を設定したところ、投稿側ではコメント投稿時の画像添付が正常に動作しておりました。

    原因について調査していたところ、該当プラグインの下記階層にある「class.WpdiscuzHelperUpload.php」ファイル内の「getDefaultPostTypes」にて、設定されていない投稿タイプ以外は画像添付が表示されない設定になっておりました。
    試しに「getDefaultPostTypes」の配列内にカスタム投稿のタイプ名を追加したところ、画像添付機能が動作しました。

    プラグインファイル内の「getDefaultPostTypes」に直接タイプ名を指定してもいいのですが、今後アップデートが入るたび変更を加えないといけないため、メンテナンス的にあまりよくないと思っております。

    カスタム投稿でも画像添付を機能させるように、値を追加するために何か良い方法がありましたらご教授いただきたく質問させていただきました。

    ■階層
    /wordpress/wp-content/plugins/wpdiscuz/utils/class.WpdiscuzHelperUpload.php

    ■該当コード(739行目あたり)

    private function getDefaultPostTypes() {
            return ["post", "page", "attachment"];
        }

    ■参照元(同ファイル内の512行目あたり)

    public function isAllowedPostType($post) {
            $allowedPosttypes = apply_filters("wpdiscuz_mu_allowed_posttypes", $this->getDefaultPostTypes());
            return ($post && is_object($post) && isset($post->post_type) && in_array($post->post_type, $allowedPosttypes));
        }
4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    参照元のソースコードからすると、フィルターフックが使えます。
    テーマの functions.php か、独自のプラグインに

    function my_wpdiscuz_mu_allowed_posttypes($post_types){
        $post_types[] = '任意の投稿タイプ';
        return $post_types;
    }
    add_filter('wpdiscuz_mu_allowed_posttypes', 'my_wpdiscuz_mu_allowed_posttypes');

    といった感じで記述してください。

    スレッド開始 non888

    (@non888)

    @munyagu

    ご返答いただきありがとうございます。
    お教えいただいたコードを試してみたところカスタム投稿でも、画像添付機能が動作いたしました。
    ありがとうございました!

    ちなみにお教えいただきましたコードは、
    フィルター「wpdiscuz_mu_allowed_posttypes」に紐づいている関数「getDefaultPostTypes」に対して、「my_wpdiscuz_mu_allowed_posttypes」のreturnの値を追加するという認識であってますでしょうか。

    • この返信は3ヶ月、 1週前にnon888が編集しました。

    ちょっと違います。

    isAllowedPostType 関数の中で getDefaultPostTypes 関数からの戻り値に、投稿タイプを追加しています。

    getDefaultPostTypes に対して値を追加する処理をしているわけではありませんので、別の箇所で呼ばれている getDefaultPostTypes の戻り値にはカスタム投稿タイプは追加されません。

    スレッド開始 non888

    (@non888)

    @munyagu

    ご返答いただきありがとうございます。

    戻り値に追加しているのですね!
    大変勉強になりました。

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

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。