Virtuelle Seiten Plugins

Ich habe es schwer, das Plugin Virtual Pages (WordPress-Plugin zur Vereinfachung der Erstellung virtueller Seiten) zu erstellen.

Ich hatte Bearbeitung, um eine Schleife basierend auf einer Abfrage zu erstellen.

add_action( 'gm_virtual_pages', function( $controller ) { /* Creating virtuals pages for companies */ $args = array( 'post_type' => array('companies',), 'post_status' => array('publish',), ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); // Creations des pages $controller->addPage( new \GM\VirtualPages\Page( '/companies/'.$the_query->post->post_name.'/about' ) ) ->setTitle( 'About Us' ) ->setContent( get_the_content() ) ->setTemplate( 'custom-page.php' ); endwhile; endif; 

custom-page.php befindet sich im custom-page.php und der Controller im custom-page.php . Ich habe versucht, die ganze Datei in das übergeordnete Thema zu legen, aber es ist das gleiche.

Ich habe den genauen Code-Download genommen , abzüglich eines Virglees in der Sektion “how tu use”.

 $controller->addPage( new \GM\VirtualPages\Page( "/custom/page" ) ) ->setTitle( 'My First Custom Page' ) ->setContent( '

Hey, this is my first cutom virtual page!

' ); ->setTemplate( 'custom-page.php' )

Zeile 3, das ist nein; Am Ende. Statt dass alles gleich ist. Ich überprüfe den Download-Code und den veröffentlichten / kommentierten Code.

  • $Title gibt “Über uns” zurück
  • $content gibt den Post-Inhalt aber zurück
  • $Template gibt page.php , und wenn es richtig ist, sollte es custom-page.php , oder zumindest, wenn es sich um eine Aufnahme handelt, sollte ich den Inhalt von custom-page.php auf der Seite sehen.

Ich habe den ganzen process verfolgt, alles gelesen, aber immer noch nicht funktioniert. Jeder als Hinweis darauf, dies zu beheben, bevor ich zu einer anderen Methode übergehe?

Solutions Collecting From Web of "Virtuelle Seiten Plugins"

Ich bin der Autor dieses Plugins und kann bestätigen, dass ein Problem aufgetreten ist.

Es war in der GM\VirtualPages\TemplateLoader::init(); Methode.

Das array_merge wurde durch einen ungeprüften Wechsel von array_merge zu wp_parse_args .

Sie sind ähnlich, aber ich müsste die umgekehrte Reihenfolge der Argumente von einem zum anderen wechseln. Schande über mich.

Ich habe das im Gist ( Quelle ) behoben, jetzt sollte es funktionieren.