Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

お問い合わせ内容データベース保存時にslug生成処理の時間が掛かってしまう #72

Open
nakazonot opened this issue Sep 1, 2017 · 1 comment

Comments

@nakazonot
Copy link

フォームから、何回もお問い合わせがあった場合に、
同じタイトルのpostが生成されるため、wp_insert_post()の処理が遅くなってしまうようです。

@nakazonot nakazonot changed the title お問い合わせ内容をデータベースに保存するとslug生成処理に時間が掛かるようになる お問い合わせ内容データベース保存時にslug生成処理の時間が掛かってしまう Sep 1, 2017
@zenith6
Copy link
Contributor

zenith6 commented Mar 17, 2018

@nakazonot @inc2734

WordPress 4.2.2 + MW WP Form 2.7.0 と言う古い環境下ですが、同じ現象に遭遇しました。
wp_unique_post_slug() 内部で、申込件数に比例してDBへの読み取りアクセスが発生します。

wp_insert_post( $postarr, $wp_error = false )$postarr['post_name'] にユニーク値を指定する事で回避できるようです。
post_name を変える事で MW WP Form にどれだけの影響があるのか掴めていませんが、ご参考になりましたら幸いです。

  1. $saved_mail_id = wp_insert_post( array(
    'post_title' => $this->parse_mail_content( $this->Mail->subject ),
    'post_status' => 'publish',
    'post_type' => MWF_Functions::get_contact_data_post_type_from_form_id( $form_id ),
    ) );
  2. https://github.com/WordPress/WordPress/blob/4.2.2/wp-includes/post.php#L3094-L3325
  3. https://github.com/WordPress/WordPress/blob/4.2.2/wp-includes/post.php#L3783-L3791

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants