wake-up-neo.net

Holen Sie sich alle benutzerdefinierten Beitragstypen des Benutzers WP Admin für Plugin

Ich mache ein WordPress-Plugin und stoße auf eine schwierige Frage. Ich versuche es so zu machen, dass ein Benutzer aus all seinen Beitragstypen auswählen kann, einschließlich benutzerdefinierter Beitragstypen. Der Code, den ich unten habe, zeigt die Post-, Seiten- und Anhang-Post-Typen in einem Dropdown-Menü im WordPress-Administrator.

<?php
$args = array(
    'public'   => true,
    '_builtin' => true
);
$output = 'names'; // names or objects, note names is the default
$operator = 'and'; // 'and' or 'or'
$post_types = get_post_types( $args, $output, $operator ); 
echo '<select name="custom-post-types">';
    foreach ( $post_types  as $post_type ) {
        echo '<option value="'. $post_type.'">' . $post_type . '</option>';
        } 
        echo '</section>';
?>

Ich verstehe, wie Benutzer ihre functions.php verwenden können, um ihre benutzerdefinierten Post-Typen einzubinden, aber ich versuche, diesen Schmerz für sie zu vermeiden und das Plug-in automatisch alle ihre zu greifen. Ich habe versucht, nach anderen Plugins zu suchen, aber die Suchergebnisse sind dafür nicht relevant, und andere Plugins waren über meinem Kopf, um das herauszufinden.

Vielen Dank für jede Hilfe.

1
Julian Flynn

Wenn Sie das Argument _builtin an get_post_types() übergeben, werden nur die Standardposttypen von WordPress zurückgegeben.

Übergeben Sie stattdessen einfach public als Argument,

Hier ist ein Beispiel für die Ausgabe auf einer Entwicklungssite mit aktiviertem WooCommerce:

var_dump(get_post_types(['public' => true]));

//result
array(4) {
  ["post"]=>
  string(4) "post"
  ["page"]=>
  string(4) "page"
  ["attachment"]=>
  string(10) "attachment"
  ["product"]=>
  string(7) "product"
}

Ohne Argumente (nicht öffentliche Beitragstypen werden zusammen mit public zurückgegeben):

var_dump(get_post_types());

//result
array(11) {
  ["post"]=>
  string(4) "post"
  ["page"]=>
  string(4) "page"
  ["attachment"]=>
  string(10) "attachment"
  ["revision"]=>
  string(8) "revision"
  ["nav_menu_item"]=>
  string(13) "nav_menu_item"
  ["product"]=>
  string(7) "product"
  ["product_variation"]=>
  string(17) "product_variation"
  ["shop_order"]=>
  string(10) "shop_order"
  ["shop_order_refund"]=>
  string(17) "shop_order_refund"
  ["shop_coupon"]=>
  string(11) "shop_coupon"
  ["shop_webhook"]=>
  string(12) "shop_webhook"
}
1
userabuser