Seite erstellen, wenn das Plugin aktiviert ist

Ich habe es so gemacht, dass jedes Mal, wenn mein Plugin aktiviert wird, eine Seite erstellt werden soll. Obwohl ich will, dass es nur die Seite erstellt, wenn es von vorher nicht existiert. Aber es ist, dass es eine neue Seite mit kns-products-1 erstellt, anstatt es überhaupt nicht zu tun.

Mein Code bisher:

function kns_install() { global $wp_version; if( version_compare( $wp_version, '3.5', ' 'page', 'post_name' => 'kns-products', 'post_title' => 'Produkter', 'post_status' => 'publish', ); wp_insert_post($product_page); } } } 

Ich dachte, dass die! Is_page-Bedingung das lösen würde, aber es scheint einen eingebauten Code zu geben, um nur Nummern nach dem Slug-Namen hinzuzufügen.

Gibt es eine Möglichkeit, dies zu lösen, oder kennt jemand einen besseren Ansatz?

Solutions Collecting From Web of "Seite erstellen, wenn das Plugin aktiviert ist"

Da Sie nach einer bestimmten Seite suchen möchten, können Sie beispielsweise eine der folgenden functionen verwenden:

  • get_post : Nimmt eine Post-ID und gibt den databaseeintrag für diesen Post zurück, der auch eine Seite sein kann.
  • get_page_by_title : get_page_by_title einen Beitrag mit seinem Titel ab. Wenn mehr als ein Beitrag denselben Titel verwendet, wird der Beitrag mit der kleinsten ID zurückgegeben.

Oder Sie könnten Ihre eigene kleine function schreiben, um die Seite mit ihrem Slug zu erhalten:

 function get_page_by_slug($slug) { if ($pages = get_pages()) foreach ($pages as $page) if ($slug === $page->post_name) return $page; return false; } // function get_page_by_slug 

Du würdest es dann so benutzen:

 if (! get_page_by_slug('kns-products')) { ... }