[ Index ] |
PHP Cross Reference of BBPress |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * bbPress 1.x Converter 5 * 6 * @package bbPress 7 * @subpackage Converters 8 */ 9 10 /** 11 * bbPress 1.1 Converter 12 * 13 * @since 2.1.0 bbPress (r3816) 14 * 15 * @link Codex Docs https://codex.bbpress.org/import-forums/bbpress-1-x-buddypress-group-forums 16 */ 17 class bbPress1 extends BBP_Converter_Base { 18 19 /** 20 * Main constructor 21 * 22 */ 23 public function __construct() { 24 parent::__construct(); 25 } 26 27 /** 28 * Sets up the field mappings 29 */ 30 public function setup_globals() { 31 32 // Setup smiley URL & path 33 $this->bbcode_parser_properties = array( 34 'smiley_url' => false, 35 'smiley_dir' => false 36 ); 37 38 /** Forum Section *****************************************************/ 39 40 // Old forum id (Stored in postmeta) 41 $this->field_map[] = array( 42 'from_tablename' => 'forums', 43 'from_fieldname' => 'forum_id', 44 'to_type' => 'forum', 45 'to_fieldname' => '_bbp_old_forum_id' 46 ); 47 48 // Forum parent id (If no parent, then 0. Stored in postmeta) 49 $this->field_map[] = array( 50 'from_tablename' => 'forums', 51 'from_fieldname' => 'forum_parent', 52 'to_type' => 'forum', 53 'to_fieldname' => '_bbp_old_forum_parent_id' 54 ); 55 56 // Forum topic count (Stored in postmeta) 57 $this->field_map[] = array( 58 'from_tablename' => 'forums', 59 'from_fieldname' => 'topics', 60 'to_type' => 'forum', 61 'to_fieldname' => '_bbp_topic_count' 62 ); 63 64 // Forum reply count (Stored in postmeta) 65 $this->field_map[] = array( 66 'from_tablename' => 'forums', 67 'from_fieldname' => 'posts', 68 'to_type' => 'forum', 69 'to_fieldname' => '_bbp_reply_count' 70 ); 71 72 // Forum total topic count (Stored in postmeta) 73 $this->field_map[] = array( 74 'from_tablename' => 'forums', 75 'from_fieldname' => 'topics', 76 'to_type' => 'forum', 77 'to_fieldname' => '_bbp_total_topic_count' 78 ); 79 80 // Forum total reply count (Stored in postmeta) 81 $this->field_map[] = array( 82 'from_tablename' => 'forums', 83 'from_fieldname' => 'posts', 84 'to_type' => 'forum', 85 'to_fieldname' => '_bbp_total_reply_count' 86 ); 87 88 // Forum title. 89 $this->field_map[] = array( 90 'from_tablename' => 'forums', 91 'from_fieldname' => 'forum_name', 92 'to_type' => 'forum', 93 'to_fieldname' => 'post_title' 94 ); 95 96 // Forum slug (Clean name to avoid conflicts) 97 $this->field_map[] = array( 98 'from_tablename' => 'forums', 99 'from_fieldname' => 'forum_slug', 100 'to_type' => 'forum', 101 'to_fieldname' => 'post_name', 102 'callback_method' => 'callback_slug' 103 ); 104 105 // Forum description. 106 $this->field_map[] = array( 107 'from_tablename' => 'forums', 108 'from_fieldname' => 'forum_desc', 109 'to_type' => 'forum', 110 'to_fieldname' => 'post_content', 111 'callback_method' => 'callback_null' 112 ); 113 114 // Forum display order (Starts from 1) 115 $this->field_map[] = array( 116 'from_tablename' => 'forums', 117 'from_fieldname' => 'forum_order', 118 'to_type' => 'forum', 119 'to_fieldname' => 'menu_order' 120 ); 121 122 // Forum type (bbPress v1.x Forum > 0 or Category = 0, Stored in postmeta) 123 $this->field_map[] = array( 124 'from_tablename' => 'meta', 125 'from_fieldname' => 'meta_value', 126 'join_tablename' => 'forums', 127 'join_type' => 'LEFT', 128 'join_expression' => 'ON meta.object_id = forums.forum_id AND meta.meta_key = "forum_is_category"', 129 'to_type' => 'forum', 130 'to_fieldname' => '_bbp_forum_type', 131 'callback_method' => 'callback_forum_type' 132 ); 133 134 // Forum status (Set a default value 'open', Stored in postmeta) 135 $this->field_map[] = array( 136 'to_type' => 'forum', 137 'to_fieldname' => '_bbp_status', 138 'default' => 'open' 139 ); 140 141 // Forum dates. 142 $this->field_map[] = array( 143 'to_type' => 'forum', 144 'to_fieldname' => 'post_date', 145 'default' => date('Y-m-d H:i:s') 146 ); 147 $this->field_map[] = array( 148 'to_type' => 'forum', 149 'to_fieldname' => 'post_date_gmt', 150 'default' => date('Y-m-d H:i:s') 151 ); 152 $this->field_map[] = array( 153 'to_type' => 'forum', 154 'to_fieldname' => 'post_modified', 155 'default' => date('Y-m-d H:i:s') 156 ); 157 $this->field_map[] = array( 158 'to_type' => 'forum', 159 'to_fieldname' => 'post_modified_gmt', 160 'default' => date('Y-m-d H:i:s') 161 ); 162 163 /** Forum Subscriptions Section ***************************************/ 164 165 /** 166 * bbPress 1.x Forums do not support forum subscriptions 167 */ 168 169 /** Topic Section *****************************************************/ 170 171 // Old topic id (Stored in postmeta) 172 $this->field_map[] = array( 173 'from_tablename' => 'topics', 174 'from_fieldname' => 'topic_id', 175 'to_type' => 'topic', 176 'to_fieldname' => '_bbp_old_topic_id' 177 ); 178 179 // Topic reply count (Stored in postmeta) 180 $this->field_map[] = array( 181 'from_tablename' => 'topics', 182 'from_fieldname' => 'topic_posts', 183 'to_type' => 'topic', 184 'to_fieldname' => '_bbp_reply_count', 185 'callback_method' => 'callback_topic_reply_count' 186 ); 187 188 // Topic total reply count (Includes unpublished replies, Stored in postmeta) 189 $this->field_map[] = array( 190 'from_tablename' => 'topics', 191 'from_fieldname' => 'topic_posts', 192 'to_type' => 'topic', 193 'to_fieldname' => '_bbp_total_reply_count', 194 'callback_method' => 'callback_topic_reply_count' 195 ); 196 197 // Topic parent forum id (If no parent, then 0. Stored in postmeta) 198 $this->field_map[] = array( 199 'from_tablename' => 'topics', 200 'from_fieldname' => 'forum_id', 201 'to_type' => 'topic', 202 'to_fieldname' => '_bbp_forum_id', 203 'callback_method' => 'callback_forumid' 204 ); 205 206 // Topic author. 207 $this->field_map[] = array( 208 'from_tablename' => 'topics', 209 'from_fieldname' => 'topic_poster', 210 'to_type' => 'topic', 211 'to_fieldname' => 'post_author', 212 'callback_method' => 'callback_userid' 213 ); 214 215 // Topic title. 216 $this->field_map[] = array( 217 'from_tablename' => 'topics', 218 'from_fieldname' => 'topic_title', 219 'to_type' => 'topic', 220 'to_fieldname' => 'post_title' 221 ); 222 223 // Topic slug (Clean name to avoid conflicts) 224 $this->field_map[] = array( 225 'from_tablename' => 'topics', 226 'from_fieldname' => 'topic_slug', 227 'to_type' => 'topic', 228 'to_fieldname' => 'post_name', 229 'callback_method' => 'callback_slug' 230 ); 231 232 // Topic content. 233 // Note: We join the 'posts' table because 'topics' table does not include content. 234 $this->field_map[] = array( 235 'from_tablename' => 'posts', 236 'from_fieldname' => 'post_text', 237 'join_tablename' => 'topics', 238 'join_type' => 'INNER', 239 'join_expression' => 'USING (topic_id) WHERE posts.post_position IN (0,1)', 240 'to_type' => 'topic', 241 'to_fieldname' => 'post_content', 242 'callback_method' => 'callback_html' 243 ); 244 245 // Topic status (Spam, Trash or Publish, bbPress v1.x publish = 0, trash = 1 & spam = 2) 246 $this->field_map[] = array( 247 'from_tablename' => 'posts', 248 'from_fieldname' => 'post_status', 249 'join_tablename' => 'topics', 250 'join_type' => 'INNER', 251 'join_expression' => 'USING (topic_id) WHERE posts.post_position IN (0,1)', 252 'to_type' => 'topic', 253 'to_fieldname' => 'post_status', 254 'callback_method' => 'callback_status' 255 ); 256 257 // Topic status (Publish or Closed to new replies) 258 $this->field_map[] = array( 259 'from_tablename' => 'topics', 260 'from_fieldname' => 'topic_open', 261 'to_type' => 'topic', 262 'to_fieldname' => '_bbp_old_closed_status_id', 263 'callback_method' => 'callback_topic_status' 264 ); 265 266 // Topic author ip (Stored in postmeta) 267 // Note: We join the 'posts' table because 'topics' table does not include author ip. 268 $this->field_map[] = array( 269 'from_tablename' => 'posts', 270 'from_fieldname' => 'poster_ip', 271 'join_tablename' => 'topics', 272 'join_type' => 'INNER', 273 'join_expression' => 'USING (topic_id) WHERE posts.post_position IN (0,1)', 274 'to_type' => 'topic', 275 'to_fieldname' => '_bbp_author_ip' 276 ); 277 278 // Topic parent forum id (If no parent, then 0) 279 $this->field_map[] = array( 280 'from_tablename' => 'topics', 281 'from_fieldname' => 'forum_id', 282 'to_type' => 'topic', 283 'to_fieldname' => 'post_parent', 284 'callback_method' => 'callback_forumid' 285 ); 286 287 // Sticky status (Stored in postmeta) 288 $this->field_map[] = array( 289 'from_tablename' => 'topics', 290 'from_fieldname' => 'topic_sticky', 291 'to_type' => 'topic', 292 'to_fieldname' => '_bbp_old_sticky_status_id', 293 'callback_method' => 'callback_sticky_status' 294 ); 295 296 // Topic dates. 297 $this->field_map[] = array( 298 'from_tablename' => 'topics', 299 'from_fieldname' => 'topic_start_time', 300 'to_type' => 'topic', 301 'to_fieldname' => 'post_date' 302 ); 303 $this->field_map[] = array( 304 'from_tablename' => 'topics', 305 'from_fieldname' => 'topic_start_time', 306 'to_type' => 'topic', 307 'to_fieldname' => 'post_date_gmt' 308 ); 309 $this->field_map[] = array( 310 'from_tablename' => 'topics', 311 'from_fieldname' => 'topic_time', 312 'to_type' => 'topic', 313 'to_fieldname' => 'post_modified' 314 ); 315 $this->field_map[] = array( 316 'from_tablename' => 'topics', 317 'from_fieldname' => 'topic_time', 318 'to_type' => 'topic', 319 'to_fieldname' => 'post_modified_gmt' 320 ); 321 $this->field_map[] = array( 322 'from_tablename' => 'topics', 323 'from_fieldname' => 'topic_time', 324 'to_type' => 'topic', 325 'to_fieldname' => '_bbp_last_active_time' 326 ); 327 328 /** Tags Section ******************************************************/ 329 330 // Topic id. 331 $this->field_map[] = array( 332 'from_tablename' => 'term_relationships', 333 'from_fieldname' => 'object_id', 334 'to_type' => 'tags', 335 'to_fieldname' => 'objectid', 336 'callback_method' => 'callback_topicid' 337 ); 338 339 // Taxonomy ID. 340 $this->field_map[] = array( 341 'from_tablename' => 'term_taxonomy', 342 'from_fieldname' => 'term_taxonomy_id', 343 'join_tablename' => 'term_relationships', 344 'join_type' => 'INNER', 345 'join_expression' => 'USING (term_taxonomy_id)', 346 'to_type' => 'tags', 347 'to_fieldname' => 'taxonomy' 348 ); 349 350 // Term description. 351 $this->field_map[] = array( 352 'from_tablename' => 'term_taxonomy', 353 'from_fieldname' => 'description', 354 'join_tablename' => 'term_relationships', 355 'join_type' => 'INNER', 356 'join_expression' => 'USING (term_taxonomy_id)', 357 'to_type' => 'tags', 358 'to_fieldname' => 'description', 359 'callback_method' => 'callback_html' 360 ); 361 362 // Term text. 363 $this->field_map[] = array( 364 'from_tablename' => 'terms', 365 'from_fieldname' => 'name', 366 'join_tablename' => 'term_taxonomy', 367 'join_type' => 'INNER', 368 'join_expression' => 'USING (term_id) WHERE term_taxonomy.taxonomy = "bb_topic_tag"', 369 'to_type' => 'tags', 370 'to_fieldname' => 'name' 371 ); 372 373 // Term slug. 374 $this->field_map[] = array( 375 'from_tablename' => 'terms', 376 'from_fieldname' => 'slug', 377 'join_tablename' => 'term_taxonomy', 378 'join_type' => 'INNER', 379 'join_expression' => 'USING (term_id) WHERE term_taxonomy.taxonomy = "bb_topic_tag"', 380 'to_type' => 'tags', 381 'to_fieldname' => 'slug', 382 'callback_method' => 'callback_slug' 383 ); 384 385 /** Topic Subscriptions Section ***************************************/ 386 387 // Subscribed user ID (Stored in usermeta) 388 $this->field_map[] = array( 389 'from_tablename' => 'term_relationships', 390 'from_fieldname' => 'user_id', 391 'to_type' => 'topic_subscriptions', 392 'to_fieldname' => 'user_id', 393 'callback_method' => 'callback_userid' 394 ); 395 396 // Join the 'term_taxonomy' table to link 'terms' 'term_relationships' tables 397 $this->field_map[] = array( 398 'from_tablename' => 'term_taxonomy', 399 'from_fieldname' => 'term_taxonomy_id', 400 'join_tablename' => 'term_relationships', 401 'join_type' => 'INNER', 402 'join_expression' => 'USING (term_taxonomy_id)', 403 'to_type' => 'topic_subscriptions' 404 ); 405 406 // Subscribed topic ID (Stored in usermeta) 407 $this->field_map[] = array( 408 'from_tablename' => 'terms', 409 'from_fieldname' => 'name', 410 'join_tablename' => 'term_taxonomy', 411 'join_type' => 'INNER', 412 'join_expression' => 'USING (term_id) WHERE term_taxonomy.taxonomy = "bb_subscribe"', 413 'to_type' => 'topic_subscriptions', 414 'to_fieldname' => '_bbp_subscriptions', 415 'callback_method' => 'callback_topic_subscriptions' 416 ); 417 418 /** Favorites Section *************************************************/ 419 420 // Favorited topic ID (Stored in usermeta) 421 $this->field_map[] = array( 422 'from_tablename' => 'usermeta', 423 'from_fieldname' => 'meta_value', 424 'from_expression' => 'WHERE usermeta.meta_key = "bb_favorites"', 425 'to_type' => 'favorites', 426 'to_fieldname' => '_bbp_favorites' 427 ); 428 429 // Favorited user ID (Stored in usermeta) 430 $this->field_map[] = array( 431 'from_tablename' => 'usermeta', 432 'from_fieldname' => 'user_id', 433 'from_expression' => 'WHERE usermeta.meta_key = "bb_favorites"', 434 'to_type' => 'favorites', 435 'to_fieldname' => 'user_id', 436 'callback_method' => 'callback_userid' 437 ); 438 439 /** Reply Section *****************************************************/ 440 441 // Old reply id (Stored in postmeta) 442 $this->field_map[] = array( 443 'from_tablename' => 'posts', 444 'from_fieldname' => 'post_id', 445 'to_type' => 'reply', 446 'to_fieldname' => '_bbp_old_reply_id' 447 ); 448 449 // Reply parent topic id (If no parent, then 0. Stored in postmeta) 450 // Note: We join the 'topics' table to limit the replies section to only import replies 451 $this->field_map[] = array( 452 'from_tablename' => 'topics', 453 'from_fieldname' => 'topic_id', 454 'join_tablename' => 'posts', 455 'join_type' => 'INNER', 456 'join_expression' => 'USING (topic_id) WHERE posts.post_position NOT IN (0,1)', 457 'to_type' => 'reply', 458 'to_fieldname' => '_bbp_topic_id', 459 'callback_method' => 'callback_topicid' 460 ); 461 462 // Reply parent forum id (If no parent, then 0. Stored in postmeta) 463 $this->field_map[] = array( 464 'from_tablename' => 'posts', 465 'from_fieldname' => 'forum_id', 466 'to_type' => 'reply', 467 'to_fieldname' => '_bbp_forum_id', 468 'callback_method' => 'callback_forumid' 469 ); 470 471 // Reply author ip (Stored in postmeta) 472 $this->field_map[] = array( 473 'from_tablename' => 'posts', 474 'from_fieldname' => 'poster_ip', 475 'to_type' => 'reply', 476 'to_fieldname' => '_bbp_author_ip' 477 ); 478 479 // Reply author. 480 $this->field_map[] = array( 481 'from_tablename' => 'posts', 482 'from_fieldname' => 'poster_id', 483 'to_type' => 'reply', 484 'to_fieldname' => 'post_author', 485 'callback_method' => 'callback_userid' 486 ); 487 488 // Reply status (Spam, Trash or Publish, bbPress v1.x publish = 0, trash = 1 & spam = 2) 489 $this->field_map[] = array( 490 'from_tablename' => 'posts', 491 'from_fieldname' => 'post_status', 492 'to_type' => 'reply', 493 'to_fieldname' => 'post_status', 494 'callback_method' => 'callback_status' 495 ); 496 497 // Reply content. 498 $this->field_map[] = array( 499 'from_tablename' => 'posts', 500 'from_fieldname' => 'post_text', 501 'to_type' => 'reply', 502 'to_fieldname' => 'post_content', 503 'callback_method' => 'callback_html' 504 ); 505 506 // Reply order. 507 $this->field_map[] = array( 508 'from_tablename' => 'posts', 509 'from_fieldname' => 'post_position', 510 'to_type' => 'reply', 511 'to_fieldname' => 'menu_order' 512 ); 513 514 // Reply parent topic id (If no parent, then 0) 515 $this->field_map[] = array( 516 'from_tablename' => 'posts', 517 'from_fieldname' => 'topic_id', 518 'to_type' => 'reply', 519 'to_fieldname' => 'post_parent', 520 'callback_method' => 'callback_topicid' 521 ); 522 523 // Reply dates. 524 $this->field_map[] = array( 525 'from_tablename' => 'posts', 526 'from_fieldname' => 'post_time', 527 'to_type' => 'reply', 528 'to_fieldname' => 'post_date' 529 ); 530 $this->field_map[] = array( 531 'from_tablename' => 'posts', 532 'from_fieldname' => 'post_time', 533 'to_type' => 'reply', 534 'to_fieldname' => 'post_date_gmt' 535 ); 536 $this->field_map[] = array( 537 'from_tablename' => 'posts', 538 'from_fieldname' => 'post_time', 539 'to_type' => 'reply', 540 'to_fieldname' => 'post_modified' 541 ); 542 $this->field_map[] = array( 543 'from_tablename' => 'posts', 544 'from_fieldname' => 'post_time', 545 'to_type' => 'reply', 546 'to_fieldname' => 'post_modified_gmt' 547 ); 548 549 /** User Section ******************************************************/ 550 551 // Store old user id (Stored in usermeta) 552 $this->field_map[] = array( 553 'from_tablename' => 'users', 554 'from_fieldname' => 'ID', 555 'to_type' => 'user', 556 'to_fieldname' => '_bbp_old_user_id' 557 ); 558 559 // Store old user password (Stored in usermeta) 560 $this->field_map[] = array( 561 'from_tablename' => 'users', 562 'from_fieldname' => 'user_pass', 563 'to_type' => 'user', 564 'to_fieldname' => '_bbp_password' 565 ); 566 567 // User name. 568 $this->field_map[] = array( 569 'from_tablename' => 'users', 570 'from_fieldname' => 'user_login', 571 'to_type' => 'user', 572 'to_fieldname' => 'user_login' 573 ); 574 575 // User nice name. 576 $this->field_map[] = array( 577 'from_tablename' => 'users', 578 'from_fieldname' => 'user_nicename', 579 'to_type' => 'user', 580 'to_fieldname' => 'user_nicename' 581 ); 582 583 // User email. 584 $this->field_map[] = array( 585 'from_tablename' => 'users', 586 'from_fieldname' => 'user_email', 587 'to_type' => 'user', 588 'to_fieldname' => 'user_email' 589 ); 590 591 // User homepage. 592 $this->field_map[] = array( 593 'from_tablename' => 'users', 594 'from_fieldname' => 'user_url', 595 'to_type' => 'user', 596 'to_fieldname' => 'user_url' 597 ); 598 599 // User registered. 600 $this->field_map[] = array( 601 'from_tablename' => 'users', 602 'from_fieldname' => 'user_registered', 603 'to_type' => 'user', 604 'to_fieldname' => 'user_registered' 605 ); 606 607 // User status. 608 $this->field_map[] = array( 609 'from_tablename' => 'users', 610 'from_fieldname' => 'user_status', 611 'to_type' => 'user', 612 'to_fieldname' => 'user_status' 613 ); 614 615 // User display name. 616 $this->field_map[] = array( 617 'from_tablename' => 'users', 618 'from_fieldname' => 'display_name', 619 'to_type' => 'user', 620 'to_fieldname' => 'display_name' 621 ); 622 } 623 624 /** 625 * This method allows us to indicates what is or is not converted for each 626 * converter. 627 */ 628 public function info() { 629 return ''; 630 } 631 632 /** 633 * Translate the post status from bbPress 1's numerics to WordPress's 634 * strings. 635 * 636 * @param int $status bbPress 1.x numeric post status 637 * @return string WordPress safe 638 */ 639 public function callback_status( $status = 0 ) { 640 switch ( $status ) { 641 case 2 : 642 $status = 'spam'; // bbp_get_spam_status_id() 643 break; 644 645 case 1 : 646 $status = 'trash'; // bbp_get_trash_status_id() 647 break; 648 649 case 0 : 650 default : 651 $status = 'publish'; // bbp_get_public_status_id() 652 break; 653 } 654 return $status; 655 } 656 657 /** 658 * Translate the forum type from bbPress 1.x numerics to WordPress's strings. 659 * 660 * @param int $status bbPress 1.x numeric forum type 661 * @return string WordPress safe 662 */ 663 public function callback_forum_type( $status = 0 ) { 664 if ( $status == 1 ) { 665 $status = 'category'; 666 } else { 667 $status = 'forum'; 668 } 669 return $status; 670 } 671 672 /** 673 * Translate the topic status from bbPress 1's numerics to WordPress's 674 * strings. 675 * 676 * @param int $topic_status bbPress 1.x numeric status 677 * @return string WordPress safe 678 */ 679 public function callback_topic_status( $topic_status = 1 ) { 680 switch ( $topic_status ) { 681 case 0 : 682 $topic_status = 'closed'; // bbp_get_closed_status_id() 683 break; 684 685 case 1 : 686 default : 687 $topic_status = 'publish'; // bbp_get_public_status_id() 688 break; 689 } 690 return $topic_status; 691 } 692 693 /** 694 * Translate the topic sticky status type from bbPress 1.x numerics to WordPress's strings. 695 * 696 * @param int $status bbPress 1.x numeric forum type 697 * @return string WordPress safe 698 */ 699 public function callback_sticky_status( $status = 0 ) { 700 switch ( $status ) { 701 case 2 : 702 $status = 'super-sticky'; // bbPress Super Sticky 'topic_sticky = 2' 703 break; 704 705 case 1 : 706 $status = 'sticky'; // bbPress Sticky 'topic_sticky = 1' 707 break; 708 709 case 0 : 710 default : 711 $status = 'normal'; // bbPress Normal Topic 'topic_sticky = 0' 712 break; 713 } 714 return $status; 715 } 716 717 /** 718 * Verify the topic reply count. 719 * 720 * @param int $count bbPress 1.x topic and reply counts 721 * @return string WordPress safe 722 */ 723 public function callback_topic_reply_count( $count = 1 ) { 724 $count = absint( (int) $count - 1 ); 725 return $count; 726 } 727 728 /** 729 * This method is to save the salt and password together. That 730 * way when we authenticate it we can get it out of the database 731 * as one value. Array values are auto sanitized by WordPress. 732 */ 733 public function callback_savepass( $field, $row ) { 734 return false; 735 } 736 737 /** 738 * This method is to take the pass out of the database and compare 739 * to a pass the user has typed in. 740 */ 741 public function authenticate_pass( $password, $serialized_pass ) { 742 return false; 743 } 744 745 /** 746 * This callback strips `topic-` from topic subscriptions taxonomy 747 * 748 * @since 2.6.0 bbPress (r5572) 749 * 750 * @param string $field Topic ID 751 * @return integer WordPress safe 752 */ 753 protected function callback_topic_subscriptions( $field ) { 754 755 // Replace 'topic-' with '' so that only the original topic ID remains 756 $field = absint( (int) preg_replace( '/(topic-)(\d+)/', '$2', $field ) ); 757 return $field; 758 } 759 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sat Dec 21 01:00:52 2024 | Cross-referenced by PHPXref 0.7.1 |