回答編集履歴

1

重複チェックを追加

2023/04/24 23:10

投稿

tabuu
tabuu

スコア2449

test CHANGED
@@ -2,8 +2,19 @@
2
2
 
3
3
  ```PHP
4
4
  function my_bbp_new_topic_pre_insert($topic_data) {
5
- $topic_data['post_name'] = '...';
5
+ $topic_data['post_name'] = my_make_post_name($topic_data['post_type']);
6
6
  return $topic_data;
7
7
  }
8
8
  add_filter('bbp_new_topic_pre_insert', 'my_bbp_new_topic_pre_insert');
9
+
10
+ function my_make_post_name($post_type) {
11
+ $name = $post_type.'-'.uniqid();
12
+ global $wpdb;
13
+ $c = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_name = '$name'");
14
+ if ($c == 0) {
15
+ return $name;
16
+ } else {
17
+ my_make_post_name($post_type);
18
+ }
19
+ }
9
20
  ```