Hallo zusammen,
ich habe es nach noch mehr googeln ca. 3Tage dann doch noch geschafft.
Sollte noch so ein Dau wie ich das gleiche versuchen wollen hier nur mal die Beschreibung wie ich es geschafft habe.
Ob das git oder nicht ist, kann ich nicht sagen aber es macht das was es soll.
In meinem Fall wollte ich über Wordpress Daten aus der Datenbank auslesen welche von einem Plugin in diese geschrieben wurde.
An meinem Beispiel halte mich an die "users" Tabelle von Wordpress selbst damit Ihr es auch nachspielen könnt.
Als erstes habe ich mir eine lokales Wordpress mit xampp installiert, völlig nackt.
Dann habe ich im aktiven Theme bei mir war es das Theme 2021, auf meiner gehosteten Site war es Sydney,
unter dem ordner C:\xampp\htdocs\wordpress\wp-content\themes\twentytwentyone die Datei page.php kopiert in den gleichen Ordner eingefügt mit einem Namen meiner Wahl in meinem fall war das "Marc.php", das war der Original Code aus der page.php
<?php
/**
* The template for displaying all single posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
*
* @package WordPress
* @subpackage Twenty_Twenty_One
* @since Twenty Twenty-One 1.0
*/
get_header();
/* Start the Loop */
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content/content-page' );
// If comments are open or there is at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
endwhile; // End of the loop.
get_footer();
Alles anzeigen
diesen habe ich im Kopf dann folgendermaßen abgeändert!
Den Rest der Datei hatte ich gelassen wie es war.
Dann habe ich meine Funktion eingefügt welche wie gesagt die Tabelle "useres" von Wordpress abfragt und in einer Tabelle ausgibt.
darüber habe ich dann noch ein Suchfeld welches aber nur auf die erste spalte der Tabelle funktioniert.
der komplette Code der neuen Marc.php sieht nun so aus.
<?php
/*
Template Name: marc
*/
//Originalcoder der Page.php
get_header(); ?>
<div id="primary" class="content-area col-md-9">
<main id="main" class="post-wrap" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'page' ); ?>
<?php
// If comments are open or we have at least one comment, load up the comment template
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
?>
<?php endwhile; // end of the loop. ?>
//hier kommt mein Code den Kommentar bitte löschen glaube ich mal zumindest :-)
<?php
function meinPlugin() {
global $wpdb;
$mail =$wpdb->get_results("SELECT * FROM ".$wpdb->prefix."users WHERE user_status LIKE '0'");
echo '<div class="suche"><input type="text" id="myInput" onkeyup="myFunction()" placeholder=" suchen" title="Type in a name"></input></div>';
echo '<table id="myTable" border="5"> ';
echo '<tr>';
echo '<th>EmailAdresse</th>';
echo '<th>Login</th>';
echo '<th>Nutzer</th>';
echo '</tr>';
foreach ( $mail as $test )
{
echo '<tr>';
echo '<td>'.$test->user_email ;echo '</td>';
echo '<td>'.$test->user_login;echo '</td>';
echo '<td>'.$test->user_nicename;echo '</td>';
echo '</tr>';
}
}
echo '</table>';
meinPlugin();?>
<script>
function myFunction() {
var input, filter, table, tr, td, i, txtValue;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
txtValue = td.textContent || td.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
</script>
//der Code war noch in der Detei Page.php
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Alles anzeigen
So warum habe ich die Datei "Marc.php" erstellt.
das gab mir die Möglichkeit Wenn ich in Wordpress eine neue Seite gestalte dann Als Template dann meine Datei Marc.php auszuwählen.
Nun das hat bei mir funktioniert. Ich hoffe ich konnte damit jemandem Helfen, wie gesagt, ob es Sicher ist ob es richtig ist usw, kann ich nicht beantworten jedoch funktioniert es bei mir. Und ich weiss wenn das Theme mal ein Update hat, sollte ich schauen ob die Datei Marc.php noch da ist und macht was sie soll.
Viel Spass!!