WordPress : Integrieren Sie vorhandene (generierte) HTML-Seiten

Lesezeit: 6 Minuten

Benutzer-Avatar
Marc Polizzi

Auf der einen Seite habe ich eine bestehende WordPress-Site.

Auf der anderen Seite eine Menge bestehender und generierter (eigentlich einige Dokumentationsseiten) statischer HTML-Seiten: mehrere Hundert …

Ich möchte diese vorhandenen HTML-Seiten in die WordPress-Site integrieren.

Es ist nicht erforderlich, sie über die WordPress-Verwaltungskonsole zu bearbeiten. Einfach, um sie mit dem Gesamtbild der Website (Kopfzeile, Fußzeile usw.) in Einklang zu bringen und die Navigation (von WordPress-Seiten) zu diesen Seiten zu ermöglichen.

Irgendeine Idee, ob dies möglich ist und wo ich nach einigen Beispielen / Tutorials / vorhandenen Plugins suchen sollte.

Hinweis 1: Ich habe die volle Kontrolle über den Generierungsprozess, sodass der Inhalt der generierten Seiten bei Bedarf an die Bedürfnisse von WordPress angepasst werden kann.

Hinweis 2: Die gesamten bestehenden HTML-Seiten werden von Zeit zu Zeit neu generiert. Also muss ich meine WordPress-Seite entsprechend aktualisieren.

  • Schau mal rein wordpress.org/plugins/import-html-pages

    – Anand Schah

    8. Januar 2014 um 6:53 Uhr

  • Nur um es klar zu stellen… Sie brauchen also nur das “Menü” aus WordPress und alles andere aus HTML. nein?

    – Binod Kalathil

    8. Januar 2014 um 8:11 Uhr

  • @Binod: Grundsätzlich ja, ich möchte oben, unten usw. …

    – Marc Polizzi

    8. Januar 2014 um 8:15 Uhr


  • @Arnand: Ich werde dieses Plugin überprüfen – danke

    – Marc Polizzi

    8. Januar 2014 um 8:16 Uhr

  • Vielleicht ein <iframe>? Erstellen Sie eine WordPress-Seite und fügen Sie die <iframe>. Allerdings gibt es bei dieser Lösung zwei Probleme: Sie brauchen einen JavaScript-Hack, um doppelte Bildlaufleisten zu vermeiden; und zweitens kann man nur auf die startseite der generierten seiten verlinken, wenn man nicht mit cleveren url-rewriting-hacks die url auf die generierte seite in der “weiterleitet”. <iframe>. Wenn Sie sich nicht sicher sind, probieren Sie es zuerst aus; es ist leicht. Die Hacks sind jedoch etwas kompliziert.

    – Nämlich

    11. Januar 2014 um 23:05 Uhr


Benutzer-Avatar
Antwane

Schaut man sich die an .htaccess bereitgestellt von wordpress:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Dadurch werden die Umschreibungsregeln konfiguriert, um sicherzustellen, dass die URL auf Ihrer WordPress-Site schön aussieht. 2 interessante Zeilen sind:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Diese Zeilen weisen den Apache-Server an, zu prüfen, ob die angeforderte Datei (1. Zeile) oder der Ordner (2.) existiert. Wenn es existiert, wird es zurückgegeben, wenn nicht, werden die Rewrite-Regeln angewendet (der Blog wird wie gewohnt angezeigt). Sie können also einen Ordner im Stammverzeichnis Ihres Webspace erstellen (oft www oder htdocs) und laden Sie generierte Dateien darin hoch. Auf diese Dateien kann von Ihrem Browser aus zugegriffen werden (http://www.ihredomain.com/ihrordner/ihredatei.html).

Ich denke, dies ist der einfachste Weg, um statisch generierte Inhalte neben Ihren Blogseiten anzuzeigen. Damit müssen Sie Header/Footer/Sidebar aus Ihrem Theme in die generierten Dateien integrieren.

Sie können auch @Binod answer verwenden und WordPress-Funktionen direkt in Ihren generierten Seiten verwenden. Entweder durch Ausführen von PHP-Code von der *.html-Seite, oder durch direktes Generieren von *.php-Dateien (wenn Sie können).

  • Dies ist die beste Antwort und wahrscheinlich am einfachsten zu implementieren. Hinzufügen require_once( '../wp-load.php' ) oben auf jeder Seite und dann get_header() & get_footer() zu den Seiten, wo erforderlich.

    – Labu

    9. Januar 2014 um 12:26 Uhr


  • @WillemLabu Sie können auto_prepend und append verwenden, um dies automatisch zu erreichen. Siehe meine Antwort unten.

    – Homer6

    11. Januar 2014 um 9:02 Uhr

Benutzer-Avatar
Eli Andráos

Erstellen Sie eine Seitenvorlage in Ihrem WordPress-Theme, nennen Sie sie beispielsweise “page-external.php”. Ihr Vorlagenseitencode sollte wie folgt aussehen:

<?php
/**
 * Template Name: External HTML Pages
 *
 */
 ?>
<?php get_header(); ?>

<?php if ( have_posts() ) :  ?>
    <?php while ( have_posts() ) : ?>
        <?php the_post(); ?>
        <?php the_content(); ?>
<?php endif; ?>

<?php get_footer() ?>

Diese Vorlage ist eine einfache WordPress-Schleife, die den Inhalt der Seite anzeigt, die Sie in den Texteditor eines wp-Seitenadministrators eingeben. (Sie können die Vorlage ändern, wenn Sie Seitenleisten, Widgets usw. haben …) Der Trick besteht darin, dass Sie im Texteditor Ihres Seitenadministrators einen WordPress-Shortcode mit einem Parameter der externen Seiten-URL zum Abrufen hinzufügen

zum Beispiel,
[externalpage href="http://www.mydomain.com/page"]

Einen Shortcode zu erstellen, ist einfach und in der WordPress-API gut dokumentiert
http://codex.wordpress.org/Shortcode_API

Verwenden Sie in Ihrem Shortcode zum Abrufen des Inhalts der externen Seite die PHP-Funktion get_file_content() oder CURL, wenn Sie dies bevorzugen, aber dies sollte es tun:

function grab_externalpage_func(){
  return file_get_contents('http://www.mydomain.com/page');
}
add_shortcode( 'externalpage ', 'grab_externalpage_func' );

Am Ende ist das Hinzufügen einer externen vorhandenen Seite so einfach wie das Erstellen einer neuen Seitenvorlage und das Hinzufügen des Shortcodes im Texteditor und das war’s. und Sie profitieren immer noch davon, die Seite vom WordPress-Admin zusammen mit get_header() und get_ooter() wie jede andere Seite zum Menü hinzuzufügen. 🙂

Sie können php_flag in einer .htaccess-Datei verwenden und die in PHP integrierten Einstellungen zum automatischen Anhängen/Voranstellen verwenden:

php_value auto_prepend_file "docs_header.php"
php_value auto_append_file "docs_footer.php"

  • Das ist ziemlich toll. Jeder Tag ist ein Schultag. Vielen Dank!

    – Labu

    13. Januar 2014 um 21:29 Uhr

  • Schleife über sie.
  • Holen Sie sich den Inhalt jeder Seite.
  • Fügen Sie den Körper jeder Seite (gestrippte Tags) in die Tabelle db > wp_posts ein und der Typ ist page .

Benutzer-Avatar
Binod Kalathil

Dies ist eine Option:

Führen Sie PHP aus HTML aus: http://php.about.com/od/advancedphp/p/html_php.htm

Dann am Anfang von HTML-Dateien:

<?php global $wp, $wp_query, $wp_the_query, $wp_rewrite, $wp_did_header;    //to initialize WP environment
require('<path to wp-load.php>' . 'wp-load.php'); ?>

Dann können Sie die folgenden WP-Funktionen an den entsprechenden Stellen in HTML-Dateien verwenden:

Für oben: http://codex.wordpress.org/Function_Reference/get_header

Zum Menü: http://codex.wordpress.org/Function_Reference/wp_nav_menu

Für unten: http://codex.wordpress.org/Function_Reference/get_footer

Anmerkungen:

  1. HTML-Dateien sollten in dieselbe Domain wie WordPress kopiert werden.

  2. Nicht getestet.

Benutzer-Avatar
Muthu

Eine der Optionen, die Sie haben, besteht darin, die Seiten in eine CSV-Datei zu exportieren und den Inhalt mit “Really Simple CSV Importer” zu importieren.

Es ist einfach zu installieren und steht nach der Installation unter Admin –> Tools -> Import zur Verfügung. Es wird Ihnen auch eine Beispiel-CSV-Datei geben und es wird so aussehen

"post_id","post_name","post_author","post_date","post_type","post_status","post_title","post_content","post_category","post_tags","custom_field"

Ich hatte eine 300-seitige Website, die vor 3-4 Jahren in dotnetnuke 5 erstellt wurde, und hatte große Probleme, diese nach WordPress zu verschieben. Also habe ich ein C#-Programm geschrieben, das den gesamten dotnetnuke-Inhalt aus der Datenbank gezogen und eine CSV-Datei ausgegeben hat. Ich gruppierte sie in jeweils etwa 50, glaube ich.

Die einzige zusätzliche Arbeit, die wir tun müssen, ist das Generieren der CSV-Datei. Möglicherweise müssen Sie dies auch zuerst in einer Testinstallation ausprobieren und sich dann schließlich vergewissern, dass Sie mit den Ergebnissen zufrieden sind. Möglicherweise müssen Sie dies in der Produktion ausführen.

In meinem Fall musste ich auch den HTML-Code und die Kategorien bearbeiten, da ich sie vorher nicht richtig eingerichtet hatte. Aber wenn Sie ein wenig vorsichtig sind und Ihre Aufgabe planen, können Sie viel Arbeit sparen.

1373850cookie-checkWordPress : Integrieren Sie vorhandene (generierte) HTML-Seiten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy