ahoi
ich hab mir in php einen code geschrieben, der eine dynamische tabelle erzeugt. dabei wird auch javascript verwendet und css, damit das ganze vernünftig aussieht.
jetzt will ich die tabelle, genau so wie sie ist, auf einer bereits existierenden seite auf wordpress einbinden.
wie mache ich das?
ich hab schon plugins zum ausführen von php code gefunden, aber die unterstützen nicht javascript, dass css wird nicht verwendet und auch nicht bilder, die in der tabelle angezeigt sind
php code auf Wordpress Seite ausführen
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Ich weiß nicht, wie du das machst. Ich kann dir schreiben, wie ich das machen würde:
Ich würde mir ein Seitentemplate schreiben, das ich page-slug-der-seite.php benenne.
Hier würde ich die Teile der normalen Ausgabe des Loop aus der page.php so drin lassen, wie ich sie brauche + zusätzlich ergänzen meinen Tabellenerzeugungscode.
Zugehöriges JS und CSS würde ich ordentlich in der functions.php einbinden mit register_script() und enqueue_script() – und zwar nur für diese eine Seite, mit einer if-Abfrage.Gruß
helix -
Entweder schreibst du es direkt ins gewünschte Seitentemplate oder du machst dir einen Shortcode daraus, den du dann überall einsetzen kannst.
-
die CSS Datei gehört in den html Header
das nötige JS in den html Footer
d.h das kannst nicht einfach mal so in the_content jagenich tät mir dafür ein MiniPlugin schreiben, das genau das so macht,
und sonst alles per Shortcode holen,
bei den Bildern auf den Pfad achten -
Entweder schreibst du es direkt ins gewünschte Seitentemplate oder du machst dir einen Shortcode daraus, den du dann überall einsetzen kannst.
Das klingt sehr gut! Hast du dazu eine gute Anleitung?
die CSS Datei gehört in den html Header
das nötige JS in den html Footer
d.h das kannst nicht einfach mal so in the_content jagenich tät mir dafür ein MiniPlugin schreiben, das genau das so macht,
und sonst alles per Shortcode holen,
bei den Bildern auf den Pfad achtenWo die Sachen hinkommen ist mir generell klar, aber die Seite selbst hat ja auch eine css datei, fusioniere ich die beiden dann einfach? die lösung per shortcode klingt am angenehmsten
-
nö, hab da keine gute Anleitung ... mal eben schnell gegoogled: https://blog.kulturbanause.de/2012/02/wordpr…de-includieren/
oder falls du den Code direkt in eine Shortcode packen willst: http://www.wpbeginner.com/wp-tutorials/h…e-in-wordpress/ -
mal eben schnell gegoogled: https://blog.kulturbanause.de/2012/02/wordpr…de-includieren/
danke soweit, dazu hab ich ein paar fragen:
in welche functions.php kommt der zusatz? ich hab ein child theme erstellt und für dieses und das main theme die functions jeweils beide probiert, ohne erfolg
beide male wird einfach nichts angezeigt an der stelle, wo eigentlich die tabelle sein sollte.
das gleiche auch bei der php datei, die ich hinzufügen will: in den child theme ordner , in den main theme ordner oder ganz woanders? auch hier hab ich schon alle kombinationen probiert, die mir einfallen -
in die functions.php des ChildThemes
nennst du das Template page-ich-binsupertabelle.php
und ist der Slug der Seite auch "ich-binsupertabelle" dann erkennt das WP automatisch, wenn es im Hauptordner des Child Themes liegt
damit die Scripte nur dort landen wo gewünscht, binde sie in der functions.php des Child Themes innerhalb einer Abfrage ein
conditional tags findest du im Codex WordPress -
[size=12][FONT=tahoma]
und ist der Slug der Seite auch "ich-binsupertabelle" dann erkennt das WP automatisch, wenn es im Hauptordner des Child Themes liegt
ist das notwendig?zur zeit liegt die [COLOR=#333333]parse_standings.php im child theme ordner, der zusatzcode ist in der functions.php des child themes und auf der seite, auf der die tabelle erscheinen soll steht [/COLOR][COLOR=#333333][include filepath='/parse_standings.php'], aber nix kommt :([/COLOR][/FONT][/SIZE]
-
Ich glaube TEMPLATEPATH ist mittlerweile deprecated. Versuch es mal mit get_stylesheet_directory(): https://codex.wordpress.org/Function_Refer…sheet_directory
-
Code
Alles anzeigen// include files via shortcode function include_file($atts) { extract(shortcode_atts(array('filepath' => 'NULL'), $atts)); if ($filepath!='NULL' && file_exists(get_stylesheet_directory() . $filepath)){ ob_start(); include(get_stylesheet_directory() . $filepath); $content = ob_get_clean(); return $content; } } add_shortcode('include', 'include_file');Code
Alles anzeigen// include files via shortcode function include_file($atts) { extract(shortcode_atts(array('filepath' => 'NULL'), $atts)); if ($filepath!='NULL' && file_exists(get_template_directory_uri() . $filepath)){ ob_start(); include(get_template_directory_uri() . $filepath); $content = ob_get_clean(); return $content; } } add_shortcode('include', 'include_file');bei beiden versionen kommt einfach nichts neues auf der seite, als wenn der shortcode da nciht stünde
-
hier findest du Hilfe
https://codex.wordpress.org/Plugin_API/Act…enqueue_scripts
und hier die conditional tags, damit deine Scripte nur dort geladen werden wo nötig
-
'Nichts kommt' ist ja immer so eine Sache ... Schon mal var_dump() gesetzt um herauszufinden wo das ganze aufhört? Geschaut ob dein Pfad stimmt? Obwohl ich persönlich das etwas schräg finde eine php Datei dynamisch in eine php Datei zu includen. Einfach die Methode in der php Datei über den shortcode aufzurufen geht nicht? Und wenn nicht warum? Wenn es um die JavaScript und css Dateien geht kannst du die ja auch in der aufgerufen Methode einbinden und nicht global. Aber das ist nur meine Meinung;)
Gesendet von meinem ONE A2003 mit Tapatalk
-
'Nichts kommt' ist ja immer so eine Sache ... Schon mal var_dump() gesetzt um herauszufinden wo das ganze aufhört? Geschaut ob dein Pfad stimmt? Obwohl ich persönlich das etwas schräg finde eine php Datei dynamisch in eine php Datei zu includen. Einfach die Methode in der php Datei über den shortcode aufzurufen geht nicht? Und wenn nicht warum? Wenn es um die JavaScript und css Dateien geht kannst du die ja auch in der aufgerufen Methode einbinden und nicht global. Aber das ist nur meine Meinung;)
Wo muss var_dump hin? der Pfad stimmt, meiner meinung nach.
Ich will das nur so einbinden, weil ich es nicht besser weiß. wenn ihr eine bessere lösung habt, bin ich dafür offen. -
................
Ich will das nur so einbinden, weil ich es nicht besser weiß. wenn ihr eine bessere lösung habt, bin ich dafür offen.habe ich doch hier geschrieben wo du Hilfe findest , um das WP gerechter (und einfacher//besser//simpler) zu lösen
-
es wird immer noch nichts angezeigt...
zur zeit ist in der functions.phpCode
Alles anzeigen// include files via shortcode function include_file($atts) { extract(shortcode_atts(array('filepath' => 'NULL'), $atts)); if ($filepath!='NULL' && file_exists(get_stylesheet_directory_uri() . $filepath)){ ob_start(); include(gget_stylesheet_directory_uri() . $filepath); $content = ob_get_clean(); return $content; } } function themeslug_enqueue_style() { if ( is_child_theme() ) { // load parent stylesheet first if this is a child theme wp_enqueue_style( 'parent-stylesheet', trailingslashit( get_template_directory_uri() ) . 'style.css', false ); } // load active theme stylesheet in both cases wp_enqueue_style( 'theme-stylesheet', get_stylesheet_uri(), false ); } add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' );auf der seite, auf der die tabelle eingebunden werden soll, steht [include filepath='/parse_standings.php']
im child theme ordner sind die parse_standings.php, dessen css datei und ein ordner, der die zugehörigen bilder enthält.
-
Es fehlt das add_shortcode und in der ersten Funktion muß get_stylesheet_directory (ohne _uri) verwendet werden.
Gruß
Ingo -
das add shortcode war drin, ist nur beim kopieren untergegangen...
hier jetzt der aktuelle code:Code
Alles anzeigen// include files via shortcode function include_file($atts) { extract(shortcode_atts(array('filepath' => 'NULL'), $atts)); if ($filepath!='NULL' && file_exists(get_stylesheet_directory . $filepath)){ ob_start(); include(get_stylesheet_directory . $filepath); $content = ob_get_clean(); return $content; } } add_shortcode('include', 'include_file'); function themeslug_enqueue_style() { if ( is_child_theme() ) { // load parent stylesheet first if this is a child theme wp_enqueue_style( 'parent-stylesheet', trailingslashit( get_template_directory_uri() ) . 'style.css', false ); } // load active theme stylesheet in both cases wp_enqueue_style( 'theme-stylesheet', get_stylesheet_uri(), false ); } add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' );es ist immer noch ncihts zu sehen auf der seite.
-
get_stylesheet_directory ist eine Funktion, muß also mit Klammern aufgerufen werden: get_stylesheet_directory()
Gruß
Ingo -
danke soweit, jetzt wird wenigstens die tabelle angezeigt!
ab jetzt kann ich wenigstens rumprobieren bis es klappt :)hier jetzt die tabelle:
http://tt-borussia.de/2-herren/
css, javascript und damit die bilder funktionieren leider noch nciht. meine vermutung ist, dass die pfade da noch nicht stimmen -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!