#########################################################################
Arbeitszeitrechner
#########################################################################
Arbeitszeitrechner mit ChatGPT als WP Plugin
Dieser Arbeitszeitrechner ist sicherlich ein ganz einfaches Tool.
Aber zeigt sofort wozu ChatGPT in der Lage ist für Menschen die nicht Programmieren können.
Es ist ein WordPressPlugin auf meinem Server im ganz normalen PluginOrdner.
Aber hier nun der Chat mit ChatGPT (ich hab mich verliebt)
Hallo ChatGPT, kannst Du mir einen PHP Code für eine Webseite bauen der einen Arbeitszeitrechner mit Pausenfunktion bietet ?
Natürlich, ich kann ein einfaches Beispiel für einen Arbeitszeitrechner mit Pausenfunktion in PHP erstellen. Das folgende Beispiel ist sehr einfach gehalten, um den Kern des Konzepts zu zeigen. Es verwendet ein HTML-Formular zur Eingabe der Arbeitszeiten und Pausenlängen. Nach dem Absenden des Formulars berechnet ein PHP-Skript die Gesamtarbeitszeit abzüglich der Pause.
<!DOCTYPE html>
<html>
<head>
<title>Arbeitszeitrechner</title>
</head>
<body>
<h1>Arbeitszeitrechner mit Pausenfunktion</h1>
<form action=„“ method=„POST“><label for=„startzeit“>Startzeit:</label>
<input type=„time“ name=„startzeit“ required><br>
<label for=„endzeit“>Endzeit:</label>
<input type=„time“ name=„endzeit“ required><br>
<label for=„pausenzeit“>Pausenzeit in Minuten:</label>
<input type=„number“ name=„pausenzeit“ required><br>
<input type=„submit“ name=„berechnen“ value=„Berechnen“>
</form>
if ($_SERVER[‚REQUEST_METHOD‘] === ‚POST‘) {
$startzeit = strtotime($_POST[’startzeit‘]);
$endzeit = strtotime($_POST[‚endzeit‘]);
$pausenzeit = $_POST[‚pausenzeit‘];
if ($startzeit && $endzeit && is_numeric($pausenzeit)) {
// Berechne die Arbeitszeit in Sekunden
$arbeitszeit_in_sekunden = $endzeit – $startzeit;
// Ziehe die Pausenzeit ab
$arbeitszeit_in_sekunden -= ($pausenzeit * 60);
// Umrechnung der Arbeitszeit in Stunden und Minuten
$arbeitsstunden = floor($arbeitszeit_in_sekunden / 3600);
$arbeitsminuten = floor(($arbeitszeit_in_sekunden / 60) % 60);
echo „<h2>Gesamtarbeitszeit: $arbeitsstunden Stunden und $arbeitsminuten Minuten</h2>“;
} else {
echo „<h2>Bitte geben Sie gültige Zeiten und Pausenlänge an.</h2>“;
}
}
</body>
</html>
Kopiere diesen Code in eine PHP-Datei (zum Beispiel arbeitszeitrechner.php
) und lade die Datei in einem Webserver, der PHP unterstützt. Öffne die Datei dann in einem Webbrowser. Du kannst dann die Startzeit, Endzeit und Pausenzeit eingeben und auf „Berechnen“ klicken, um die effektive Arbeitszeit zu sehen.
Bitte beachte, dass dieses Beispiel keine umfangreiche Validierung oder Fehlerbehandlung enthält und für ernsthafte Anwendungen weiter ausgebaut werden sollte.
geht der Code auch für WordPress seiten ?
Ja, der Code könnte auch in einer WordPress-Seite verwendet werden, aber die Integration wäre ein bisschen anders. In WordPress wäre es üblich, ein Shortcode oder ein Plugin zu erstellen, um solche Funktionalitäten hinzuzufügen.
Hier ist ein einfaches Beispiel, wie der Arbeitszeitrechner als WordPress Shortcode umgesetzt werden könnte. Füge den folgenden PHP-Code in die functions.php
Datei deines WordPress-Themes ein:
function arbeitszeitrechner_shortcode() {
ob_start(); // Ausgabe puffern
if ($_SERVER[‚REQUEST_METHOD‘] === ‚POST‘) {$startzeit = strtotime($_POST[’startzeit‘]);
$endzeit = strtotime($_POST[‚endzeit‘]);
$pausenzeit = $_POST[‚pausenzeit‘];
if ($startzeit && $endzeit && is_numeric($pausenzeit)) {$arbeitszeit_in_sekunden = $endzeit – $startzeit;
$arbeitszeit_in_sekunden -= ($pausenzeit * 60);
$arbeitsstunden = floor($arbeitszeit_in_sekunden / 3600);
$arbeitsminuten = floor(($arbeitszeit_in_sekunden / 60) % 60);
echo „<h2>Gesamtarbeitszeit: $arbeitsstunden Stunden und $arbeitsminuten Minuten</h2>“;
} else {
echo „<h2>Bitte geben Sie gültige Zeiten und Pausenlänge an.</h2>“;
}
}
<form action=„“ method=„POST“>
<label for=„startzeit“>Startzeit:</label>
<input type=„time“ name=„startzeit“ required><br>
<label for=„endzeit“>Endzeit:</label>
<input type=„time“ name=„endzeit“ required><br>
<label for=„pausenzeit“>Pausenzeit in Minuten:</label>
<input type=„number“ name=„pausenzeit“ required><br>
<input type=„submit“ name=„berechnen“ value=„Berechnen“>
</form>
return ob_get_clean(); // Ausgebufferte Ausgabe zurückgeben
}
add_shortcode(‚arbeitszeitrechner‘, ‚arbeitszeitrechner_shortcode‘);
Nachdem du den Code in die functions.php
Datei eingefügt hast, kannst du den Shortcode
in deine Beiträge oder Seiten einfügen, um das Arbeitszeitrechner-Formular anzuzeigen.
Beachte bitte, dass das Hinzufügen von PHP-Code zu einem WordPress-Thema beim nächsten Update des Themas überschrieben werden könnte. Es wäre daher besser, ein Child-Theme zu erstellen oder den Code als eigenständiges Plugin zu implementieren.
wie kann ich daraus ein wordpress plugin bauen
Ein WordPress-Plugin zu erstellen ist ein effektiver Weg, um sicherzustellen, dass deine Funktionen bei einem Theme-Update nicht verloren gehen. Um den Arbeitszeitrechner als Plugin zu implementieren, befolge diese Schritte:
- Plugin-Verzeichnis erstellen: Erstelle in deinem
wp-content/plugins/
Verzeichnis einen neuen Ordner für dein Plugin, z.B.arbeitszeitrechner
. - Haupt-Plugin-Datei erstellen: Erstelle eine neue PHP-Datei im gerade erstellten Verzeichnis, z.B.
arbeitszeitrechner.php
. - Plugin-Informationen und Code hinzufügen: Füge die folgenden Informationen und den Code in
arbeitszeitrechner.php
ein:
/**
* Plugin Name: Arbeitszeitrechner
* Description: Ein einfacher Arbeitszeitrechner mit Pausenfunktion.
* Version: 1.0
* Author: Dein Name
*/
function arbeitszeitrechner_shortcode() {ob_start();
if ($_SERVER[‚REQUEST_METHOD‘] === ‚POST‘) {$startzeit = strtotime($_POST[’startzeit‘]);
$endzeit = strtotime($_POST[‚endzeit‘]);
$pausenzeit = $_POST[‚pausenzeit‘];
if ($startzeit && $endzeit && is_numeric($pausenzeit)) {
$arbeitszeit_in_sekunden = $endzeit – $startzeit;
$arbeitszeit_in_sekunden -= ($pausenzeit * 60);
$arbeitsstunden = floor($arbeitszeit_in_sekunden / 3600);
$arbeitsminuten = floor(($arbeitszeit_in_sekunden / 60) % 60);
echo „<h2>Gesamtarbeitszeit: $arbeitsstunden Stunden und $arbeitsminuten Minuten</h2>“;
} else {
echo „<h2>Bitte geben Sie gültige Zeiten und Pausenlänge an.</h2>“;
}
}
<form action=„“ method=„POST“>
<label for=„startzeit“>Startzeit:</label>
<input type=„time“ name=„startzeit“ required><br>
<label for=„endzeit“>Endzeit:</label>
<input type=„time“ name=„endzeit“ required><br>
<label for=„pausenzeit“>Pausenzeit in Minuten:</label>
<input type=„number“ name=„pausenzeit“ required><br>
<input type=„submit“ name=„berechnen“ value=„Berechnen“>
</form>
return ob_get_clean();
}
add_shortcode(‚arbeitszeitrechner‘, ‚arbeitszeitrechner_shortcode‘);
- Plugin aktivieren: Gehe zu deinem WordPress-Admin-Bereich und navigiere zu „Plugins“. Du solltest dein neues Plugin „Arbeitszeitrechner“ in der Liste sehen. Klicke auf „Aktivieren“, um das Plugin zu aktivieren.
- Shortcode verwenden: Nach der Aktivierung des Plugins kannst du den Shortcode
Das ist ein sehr einfaches Plugin-Beispiel. Für eine Produktionsumgebung wäre es ratsam, weitere Features wie Datenvalidierung, Sicherheitsüberprüfungen und bessere Benutzerinteraktion hinzuzufügen.
Kannst Du das erweitern auf Dezimalzeit ?
Natürlich, ich kann den Code anpassen, um die Gesamtarbeitszeit in Dezimalstunden anzuzeigen. In diesem Fall kann man die Gesamtarbeitszeit in Sekunden durch 3600 teilen, um die Arbeitszeit in Stunden als Dezimalzahl zu bekommen.
Hier ist die aktualisierte Version des WordPress-Plugin-Codes:
/**
* Plugin Name: Arbeitszeitrechner
* Description: Ein einfacher Arbeitszeitrechner mit Pausenfunktion.
* Version: 1.1
* Author: Dein Name
*/
function arbeitszeitrechner_shortcode() {ob_start();
if ($_SERVER[‚REQUEST_METHOD‘] === ‚POST‘) {$startzeit = strtotime($_POST[’startzeit‘]);
$endzeit = strtotime($_POST[‚endzeit‘]);
$pausenzeit = $_POST[‚pausenzeit‘];
if ($startzeit && $endzeit && is_numeric($pausenzeit)) {
$arbeitszeit_in_sekunden = $endzeit – $startzeit;
$arbeitszeit_in_sekunden -= ($pausenzeit * 60);
// Umrechnung der Arbeitszeit in Dezimalstunden
$arbeitszeit_in_dezimal = round($arbeitszeit_in_sekunden / 3600, 2);
echo „<h2>Gesamtarbeitszeit: $arbeitszeit_in_dezimal Stunden</h2>“;
} else {
echo „<h2>Bitte geben Sie gültige Zeiten und Pausenlänge an.</h2>“;
}
}
<form action=„“ method=„POST“>
<label for=„startzeit“>Startzeit:</label>
<input type=„time“ name=„startzeit“ required><br>
<label for=„endzeit“>Endzeit:</label>
<input type=„time“ name=„endzeit“ required><br>
<label for=„pausenzeit“>Pausenzeit in Minuten:</label>
<input type=„number“ name=„pausenzeit“ required><br>
<input type=„submit“ name=„berechnen“ value=„Berechnen“>
</form>
return ob_get_clean();
}
add_shortcode(‚arbeitszeitrechner‘, ‚arbeitszeitrechner_shortcode‘);
Die Arbeitszeit wird nun als Dezimalzahl mit zwei Nachkommastellen angezeigt. Wenn du dies in die functions.php
deines WordPress-Child-Themes oder als separates Plugin einfügst, solltest du in der Lage sein, die Arbeitszeit als Dezimalzahl zu sehen, nachdem du den Shortcode
in einen Beitrag oder eine Seite eingefügt und das Formular abgesendet hast.
kannst Du den Code bauen damit er dezimalzeit und normale Zeit anzeigt ?
Natürlich! Man kann sowohl die Arbeitszeit im Format Stunden:Minuten als auch als Dezimalzahl anzeigen. Hier ist der aktualisierte WordPress-Plugin-Code:
/**
* Plugin Name: Arbeitszeitrechner
* Description: Ein einfacher Arbeitszeitrechner mit Pausenfunktion.
* Version: 1.2
* Author: Dein Name
*/
function arbeitszeitrechner_shortcode() {ob_start();
if ($_SERVER[‚REQUEST_METHOD‘] === ‚POST‘) {$startzeit = strtotime($_POST[’startzeit‘]);
$endzeit = strtotime($_POST[‚endzeit‘]);
$pausenzeit = $_POST[‚pausenzeit‘];
if ($startzeit && $endzeit && is_numeric($pausenzeit)) {
$arbeitszeit_in_sekunden = $endzeit – $startzeit;
$arbeitszeit_in_sekunden -= ($pausenzeit * 60);
// Umrechnung der Arbeitszeit in Dezimalstunden
$arbeitszeit_in_dezimal = round($arbeitszeit_in_sekunden / 3600, 2);
// Umrechnung der Arbeitszeit in Stunden und Minuten
$arbeitsstunden = floor($arbeitszeit_in_sekunden / 3600);
$arbeitsminuten = floor(($arbeitszeit_in_sekunden / 60) % 60);
echo „<h2>Gesamtarbeitszeit: $arbeitsstunden Stunden und $arbeitsminuten Minuten</h2>“;
echo „<h2>Gesamtarbeitszeit in Dezimalform: $arbeitszeit_in_dezimal Stunden</h2>“;
} else {
echo „<h2>Bitte geben Sie gültige Zeiten und Pausenlänge an.</h2>“;
}
}
<form action=„“ method=„POST“>
<label for=„startzeit“>Startzeit:</label>
<input type=„time“ name=„startzeit“ required><br>
<label for=„endzeit“>Endzeit:</label>
<input type=„time“ name=„endzeit“ required><br>
<label for=„pausenzeit“>Pausenzeit in Minuten:</label>
<input type=„number“ name=„pausenzeit“ required><br>
<input type=„submit“ name=„berechnen“ value=„Berechnen“>
</form>
return ob_get_clean();
}
add_shortcode(‚arbeitszeitrechner‘, ‚arbeitszeitrechner_shortcode‘);
Dieser Code zeigt sowohl die Arbeitszeit im Format Stunden:Minuten als auch als Dezimalzahl an. Füge den Code in die functions.php
Datei deines WordPress-Child-Themes oder in eine separate Plugin-Datei ein. Nach der Aktivierung des Plugins kannst du den Shortcode
verwenden, um das Formular in einem Beitrag oder einer Seite anzuzeigen. Nach dem Ausfüllen des Formulars und dem Klicken auf „Berechnen“ werden beide Zeitformate angezeigt.