Support » Allgemeine Fragen » PHP-Seite in Theme einbinden

  • Gelöst dpsgulm

    (@dpsgulm)


    Hallo zusammen,

    ich habe das Forum bereits vergeblich durchsucht, deswegen poste ich jetzt hier einmal; vielleicht erhalte ich ja einen passenden Hinweis.

    Ich bin Administrator der Homepage der Ortsgruppe eines Kinder -und Jugendverbands (DPSG – Pfadfinder). Vor einiger Zeit habe ich ein kombiniertes Buchungs-/Belegungungssystem auf unserem Server installiert. Das Grundgerüst ist von „Hackmeck“ (https://www.hackmeck.de); wir haben es mit div. Funktionen an unsere Bedürfnisse entsprechend angepasst. Es läuft einwandfrei.

    Nun wollte ich das System gerne in unser WP-Theme (ein eigenes unseres Bundesverbandes) integrieren. Da die Datei komplett außerhalb vom WP-Pfad liegt, weiß ich absolut nicht, wie man die Integration am Besten vornimmt, ohne die eingebauten Funktionen zu „killen“. Ein HowTo hab ich, wie erwähnt, nicht finden können.

    Nachfolgend der WP-Zustandsbericht:

    
    ### wp-core ###
    
    version: 6.0.1
    site_language: de_DE
    user_language: de_DE
    timezone: Europe/Berlin
    permalink: /%year%/%monthnum%/%day%/%postname%/
    https_status: true
    multisite: false
    user_registration: 0
    blog_public: 1
    default_comment_status: closed
    environment_type: production
    user_count: 3
    dotorg_communication: true
    
    ### wp-paths-sizes ###
    
    wordpress_path: /data/web/1/000/100/651/400809/htdocs/wordpress
    wordpress_size: 1,12 GB (1201764089 bytes)
    uploads_path: /data/web/1/000/100/651/400809/htdocs/wordpress/wp-content/uploads
    uploads_size: 820,33 MB (860179386 bytes)
    themes_path: /data/web/1/000/100/651/400809/htdocs/wordpress/wp-content/themes
    themes_size: 18,18 MB (19064277 bytes)
    plugins_path: /data/web/1/000/100/651/400809/htdocs/wordpress/wp-content/plugins
    plugins_size: 31,28 MB (32802336 bytes)
    database_size: 14,17 MB (14853243 bytes)
    total_size: 1,98 GB (2128663331 bytes)
    
    ### wp-active-theme ###
    
    name: DPSG | WordPress | 2.4 (dpsg-wp-2.4_extern)
    version: 2.4
    author: Deutsche Pfadfinderschaft Sankt Georg | Bundesamt Sankt Georg e.V.
    author_website: http://dpsg.de/
    parent_theme: none
    theme_features: core-block-patterns, widgets-block-editor, automatic-feed-links, post-thumbnails, menus, widgets
    theme_path: /data/web/1/000/100/651/400809/htdocs/wordpress/wp-content/themes/dpsg-wp-2.4_extern
    auto_update: Deaktiviert
    
    ### wp-themes-inactive (1) ###
    
    Twenty Twenty-Two: version: 1.2, author: WordPress-Team, Automatische Aktualisierungen deaktiviert
    
    ### wp-plugins-active (14) ###
    
    Add From Server: version: 3.4.5, author: Dion Hulse, Automatische Aktualisierungen deaktiviert
    Advanced Editor Tools (previously TinyMCE Advanced): version: 5.6.0, author: Automattic, Automatische Aktualisierungen deaktiviert
    Classic Widgets: version: 0.3, author: WordPress Contributors, Automatische Aktualisierungen deaktiviert
    Disable Comments: version: 2.3.6, author: WPDeveloper, Automatische Aktualisierungen deaktiviert
    Disable Gutenberg: version: 2.7, author: Jeff Starr, Automatische Aktualisierungen deaktiviert
    Download Manager: version: 3.2.49, author: W3 Eden, Inc., Automatische Aktualisierungen deaktiviert
    List category posts: version: 0.86.1, author: Fernando Briano, Automatische Aktualisierungen deaktiviert
    NextGEN Gallery: version: 3.28, author: Imagely, Automatische Aktualisierungen deaktiviert
    Relevanssi: version: 4.16.0, author: Mikko Saari, Automatische Aktualisierungen deaktiviert
    Scoutnet Kalender: version: 1.1.0, author: Scoutnet und Björn Stromberg, Automatische Aktualisierungen deaktiviert
    Social Feed Gallery: version: 3.4.3, author: QuadLayers, Automatische Aktualisierungen deaktiviert
    Termly | GDPR/CCPA Cookie Consent Banner: version: 3.0.3, author: Termly, Automatische Aktualisierungen deaktiviert
    Two Factor: version: 0.7.1, author: Plugin Contributors, Automatische Aktualisierungen deaktiviert
    WP Rollback: version: 1.7.1, author: Impress.org, Automatische Aktualisierungen deaktiviert
    
    ### wp-media ###
    
    image_editor: WP_Image_Editor_Imagick
    imagick_module_version: 1692
    imagemagick_version: ImageMagick 6.9.12-34 Q16-HDRI amd64 2021-12-22 https://imagemagick.org
    imagick_version: 3.5.1
    file_uploads: File uploads is turned off
    post_max_size: 200M
    upload_max_filesize: 200M
    max_effective_size: 200 MB
    max_file_uploads: 20
    imagick_limits: 
    	imagick::RESOURCETYPE_AREA: 64 GB
    	imagick::RESOURCETYPE_DISK: 9.2233720368548E+18
    	imagick::RESOURCETYPE_FILE: 705051
    	imagick::RESOURCETYPE_MAP: 64 GB
    	imagick::RESOURCETYPE_MEMORY: 32 GB
    	imagick::RESOURCETYPE_THREAD: 1
    imagemagick_file_formats: 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FPX, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X3F, XBM, XC, XCF, XPM, XPS, XV, YCbCr, YCbCrA, YUV
    gd_version: 2.3.3
    gd_formats: GIF, JPEG, PNG, WebP, BMP
    ghostscript_version: 9.52
    
    ### wp-server ###
    
    server_architecture: FreeBSD 13.0-RELEASE-p7 amd64
    httpd_software: Apache
    php_version: 7.4.30 64bit
    php_sapi: apache2handler
    max_input_variables: 5000
    time_limit: 240
    memory_limit: 128M
    admin_memory_limit: 256M
    max_input_time: 60
    upload_max_filesize: 200M
    php_post_max_size: 200M
    curl_version: 7.81.0 OpenSSL/1.1.1n
    suhosin: false
    imagick_availability: true
    pretty_permalinks: true
    htaccess_extra_rules: false
    
    ### wp-database ###
    
    extension: mysqli
    server_version: 5.7.37
    client_version: mysqlnd 7.4.30
    max_allowed_packet: 16777216
    max_connections: 1000
    
    ### wp-constants ###
    
    WP_HOME: undefined
    WP_SITEURL: undefined
    WP_CONTENT_DIR: /data/web/1/000/100/651/400809/htdocs/wordpress/wp-content
    WP_PLUGIN_DIR: /data/web/1/000/100/651/400809/htdocs/wordpress/wp-content/plugins
    WP_MEMORY_LIMIT: 64M
    WP_MAX_MEMORY_LIMIT: 256M
    WP_DEBUG: false
    WP_DEBUG_DISPLAY: true
    WP_DEBUG_LOG: false
    SCRIPT_DEBUG: false
    WP_CACHE: false
    CONCATENATE_SCRIPTS: undefined
    COMPRESS_SCRIPTS: undefined
    COMPRESS_CSS: undefined
    WP_ENVIRONMENT_TYPE: Nicht definiert
    DB_CHARSET: utf8
    DB_COLLATE: undefined
    
    ### wp-filesystem ###
    
    wordpress: writable
    wp-content: writable
    uploads: writable
    plugins: writable
    themes: writable
    

    Für eure Hilfe schon jetzt recht herzlichen Dank! 🙂

    Christian (DPSG Stamm Saint-Exupéry Ulm)

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Nehmen wir an, du hast ein Web-Stammverzeichnis /var/www/html, in dem deine WordPress-Dateien liegen und du hast außerdem eine Datei /var/www/anderesverzeichnis/helloworld.php angelegt, die folgenden Code enthält:

    <?php
    echo '<h1>hello world</h1>';

    Nun möchtest du, dass bei Aufruf von https://example.com/sag-hallo.php (natürlich mit deiner Domain) dieses Skript ausgeführt wird. Dazu legst du im WordPress-Verzeichnis eine Datei sag-hallo.php mit folgendem Code an:

    <?php
    include '/var/www/anderesverzeichnis/helloworld.php';

    Jetzt brauchst du nur noch die URL https://example.com/sag-hallo.php im Browser öffnen und bekommst „hello world“ angezeigt.

    Wenn du jetzt die Datei helloworld.php mit einem sinnvolleren Namen und deinem Belegungsskript speicherst und die Datei sag-hallo.php auch noch etwas sinnvoller benennst, solltest du dem gewünschten Ergebnis „externes Skript einbinden“ schon sehr nahe kommen.

    Die bessere Lösung wäre sicher, ein eigenes Plugin zu erstellen und dort den PHP-Code einzubinden, nur ist das einerseits nicht die Antwort zu deiner Frage („PHP-Seite einbinden“) und andererseits sprengt es auch ein wenig den zeitlichen Rahmen eines kostenlosen Support. Du findest aber in der WordPress-Dokumentation eine ausführliche Anleitung, um ein Plugin zu erstellen.

    Moderator Michi91

    (@michi91)

    Hast du mal geschaut ob es nicht eine alternative als WordPress Plugin gibt?

    Das einbinden von externen Scripten erfordert ziemlich umfangreiche Programmierkenntnisse…

    Thread-Starter dpsgulm

    (@dpsgulm)

    Vielen Dank für die prompte Reaktion.

    Nunja, das Belegungsscript besteht aus mehreren Dateien, die mit einer MySQL-Datenbank gekoppelt sind. Es ist also nicht „nur ein Script“ – entschuldigung, wenn ich mich da unklar ausgedrückt habe.

    Ein passendes Plugin gibt es nicht – und mittlerweile verfüge ich auch über Programmierkenntnisse – das wäre also nicht das entscheidende.

    Mein „Hauptziel“ ist in erster Linie das selbe Design in der Seite zu haben, sprich das Menü, Footer und die Sidebar (wie hier: http://www.dpsg-ulm.de).

    Natürlich wäre eine möglichst simple Lösung (ohne viel coden) super, aber wenn es sich nicht vermeiden lässt, muss ich in den sauren Apfel beißen…

    WordPress ist eigentlich auch nur „ein Skript“ – nur eben auf eine Menge Dateien aufgeteilt, die per include und require eingebunden werden.

    Mein „Hauptziel“ ist in erster Linie das selbe Design in der Seite zu haben, sprich das Menü, Footer und die Sidebar (wie hier: http://www.dpsg-ulm.de).

    In dem Fall wirst du um ein Plugin kaum herumkommen. Wenn es keine fertige Lösung gibt, findest du in Jobportalen ganz bestimmt jemand, der dir ein Plugin schreibt.

    Thread-Starter dpsgulm

    (@dpsgulm)

    Okay, insgeheim dachte ich mir schon so etwas. Vermutlich bin ich technisch da etwas mehr im Thema drin, als der „klassische“ WP-User 😀 Ich will das Buchungssystem halt ungerne aufgeben, wir an dem jetzigen halt schon echt viel rumgeschraubt haben. (mehrere if-else, kombiniert mit prepared Statements, Java…)

    Vielleicht gibts ja bei unseren Verbandsmitgliedern (darunter sind einige Informatiker) jemanden, der mir helfen kann (und auch unser Theme kennt).

    Trotzdem herzlichen Dank für eure Ausführungen!

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Das Thema „PHP-Seite in Theme einbinden“ ist für neue Antworten geschlossen.