würdest Du das trotzdem in einer Kopie im Child theme machen
ja, ausschließlich.
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenwürdest Du das trotzdem in einer Kopie im Child theme machen
ja, ausschließlich.
Dann mußt Du das Template bearbeiten. Es gibt keinen Filter/Action Hook zum filtern/entfernen der Bestelldetails auf der Thank-You-Page.
Für eine kundenspezifische Lösung mit einer Datenbankstruktur die niemand kennt wird es wahrscheinlich kein Plugin geben. Du könntest aber mal WP All Import + User Add-on testen. Damit sollte es Dir möglich sein in regelmäßigen Abständen einen Abgleich zu fahren. Ansonsten bleibt nur die Programmierung einer eigenen Lösung (die ja gar nicht in WordPress laufen muss, sondern als PHP, Python, Perl oder RoR Script auf dem Server laufen kann).
Die Verwendung einer externen Datenbank/Tabelle für die User ist kein Problem WENN diese den gleich Aufbau hat. Eine Datenbank/Tabelle zu verwenden, die einen anderen Aufbau hat würde einen Abstraktionslayer benötigen, um die notwendigen Tabellenfelder zu "übersetzen". Sobald auch nur ein Plugin oder Theme dann nicht auf die WordPress Funktionen zurückgreift geht das schief. Auch ich mag keine redundanten Daten aber in diesem Fall ist nur eine Synchronisation sinnvoll, also Idee 2. Die Emailadresse kann jederzeit geändert werden.
Was soll denn überhaupt entfernt werden? Solange keine Funktion existiert, die den Action Hook verwendet passiert dort auch nichts und man muss nichts entfernen.
Das Thema ist zu komplex um über ein Forum oder Tutorials zum Sicherheitsfachmann zu werden. Wer an was Schuld hat ist eine Frage für Juristen. Wurde vertraglich nichts zum Thema Sicherheit definiert kommt höchsten eine Haftung wegen grober Fahrlässigkeit in Betracht (Benutzername: admin, Passwort 12345678).
Den einzig vernünftigen Rat den ich geben kann: Den Kunden ins Boot holen und gemeinsam ab zum Experten. Der Dachdecker legt mir hübsche Schindeln aufs Dach aber der Statiker legt fest welche Last das Dach tragen kann. Das Problem: Wer sich als dachdeckender Statiker verkauft muss das auch leisten können, weshalb es diese Kombination beim Hausbau nicht gibt. Transparenz ist das A und O. Wenn der Kunde vorher weiß was er NICHT bekommt gibt es auch keine Probleme.
Sieht nach dem Sicherheitsplugin WordFence mit aktivierter Performance Funktion aus.
Hmmmm ..... mach mal aus dem is_shop() ein is_woocommerce().
Hattest Du nicht gesagt Du bist Fachinformatiker System Integration? Wo gibt man an auf welchen Port, welche Ip oder welchen Domainnamen ein Virtual Host reagiert?
Wenn der Alias Link auf die IP mit dem Port auflöst geht das. Also Apache und DNS entsprechend konfigurieren.
1.) In dem Benutzerprofilen sind ja die emailadressen hinterlegt, wie kann ich die in dieser Autorenbox ansprechen das quasi beim Klick auf den Briefumschlag eine Reaktion auf die entsprechende eMailadresse des benutzers erfolgt?
Du holst Dir die Adresse via [COLOR=#333333]get_the_author_meta('user_email', $author_ID) und packst das Ergebnis in einen mailto: Link.
[/COLOR]echo '<a href="mailto:' . get_the_author_meta( 'user_email', $author_ID ) . '">' . get_the_author_meta( 'display_name', $author_ID ) . '</a>';[COLOR=#333333]
[/COLOR]
2.) Wie kann ich bestimmte Seiten anhand der ID von der Abfrageregel aus lassen das dort keine Autorenbox angezeigt wird?
Würde ich aber nur dann machen, wenn die IDs für auszuschließende Beiträge und Seiten nicht laufen geändert werden müssen. Sonst einfach ein Plugin zur konditionalen Anzeige verwenden, wie z.B. https://de.wordpress.org/plugins/dynamic-widgets/ oder https://wordpress.org/plugins/widget-logic/. Oder in das nun vorhanden Widget diese Logic einbauen (das ist dann aber tatsächlich etwas mehr Code).
Wie wurde die Umstellung gemacht?
und ein Widget ist bestimmt mehr als nur ein paar odezeilen, so bleibt es flixibel,
Warum sind Laien eigentlich immer so schlau mit ihren Aussagen wenn sie zwei Sätze vorher zugeben keine Ahnung zu haben? Deine Lösung ist eben NICHT flexibel weil sie an ein Plugin gebunden ist, welches zudem eine massive Sicherheitslücke schafft, da es nun möglich ist PHP Code in die Datenbank einzufügen und diesen bei jedem Aufruf eines Widget auszuführen.
Hier ist Dein Code als Widget: 11 Zeilen Code mehr.
class MMX_Author_Widget extends WP_Widget {
function __construct() {
parent::__construct( 'mmx_author_info', 'Author Info', array( 'description' => 'Widget zur Anzeige von Authoren Infos' ) );
}
public function widget( $args, $instance ) {
echo $args['before_widget'];
echo '<div class="mai-container">';
$author_ID = get_the_author_meta('ID');
if ( is_singular() || get_the_author_meta('description', $author_ID)) {
$name = get_the_author_meta('display_name', $author_ID);
echo '<h4 class="author-box-title"><span>' . _e('About the Author', 'THEMENKLASSE') .'</span></h4>';
echo '<section class="author-box clearfix">';
echo '<div class="author-box-avatar"><a href="' . esc_url(get_author_posts_url($author_ID)) .'">' . get_avatar($author_ID, 100) .'</a></div>';
echo '<div class="author-box-name"><a href="' . esc_url(get_author_posts_url($author_ID)) . '" class="Unterschrift">' . esc_attr($name) .'</a></div>';
echo '<div class="author-box-data"><b>Datum: </b>' . get_the_date() .'</div>';
echo '<hr class="author-box-line" />';
if ( !empty( get_the_author_meta('description', $author_ID) )){
echo '<div class="author-box-desc">' . get_the_author_meta('description', $author_ID) .'</div>';
}
echo '<div class="author-box-contact">';
if ( get_the_author_meta('googleplus') ){
echo '<a href="' . get_the_author_meta('googleplus') .'" target="_blank" title="..."><span class="fa fa-google-plus fa-2x"></span></a>';
}
echo '</div>';
echo '</section>';
}
echo '</div>';
echo $args['after_widget'];
}
}
add_action( 'widgets_init', 'mmx_register_widgets' );
function mmx_register_widgets() {
register_widget( 'MMX_Author_Widget' );
}
Alles anzeigen
Der Code kommt in die functions.php Deines Childthemes und das neue Widget kannst Du überall verwenden. Das PHP Widget "Teufelszeug" kann dann raus.
Deine HTML Ausgaben habe ich nicht verbessert, das darfst Du selbst machen.
Ja, das war klar. Deswegen hatte ich bei der Erklärung geschrieben, dass der Weg eigentlich nicht richtig ist. Ich erzwinge die Anzeige ja nur auf der Shopseite "Produkt Archiv = is_shop()". Welches Theme ist das denn? Hast Du mal in allen Theme Dateien nach '[COLOR=#333333]loop_shop_per_page' gesucht?[/COLOR]
Wäre der der ginge nicht okay?
Doch, sonst hätte ich ihn nicht gepostet aber der Themeentwickler macht seltsame Sachen.
[COLOR=#333333]'loop_shop_per_page' ist eigentlich der richtige Filter. Bitte mal noch folgendes versuchen
[/COLOR]
add_filter( 'loop_shop_per_page', 'mmx_shop_ppl', 1000 );
function mmx_shop_ppl( $cols ) {
return 24;
}
[COLOR=#333333]
Mit 'pre_get_posts' verändere ich den Query direkt falls die Shopseite (is_shop()) angezeigt wird. [/COLOR]