Verfasste Forenbeiträge

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 30)
  • Thread-Starter wootimes

    (@wootimes)

    Das macht unter diesen ggf. Einschränkungen durchaus Sinn 🙂

    Thread-Starter wootimes

    (@wootimes)

    Danke für deine ausführliche Antwort. 🙂

    Demnach hat WP_MEMORY_LIMIT keinerlei Bedeutung, wenn es über die Server-Konfiguration anders gehandhabt wird? Selbst wenn ich es in der „wp-confiq.php“ definiere und auf 64MB hochsetze und der aktuelle Verbrauch bei 80MB liegt, kommt keinerlei Fehlermeldung wie „allowed memory size is exhausted“.

    Diese Fehlermeldung würde demnach erst auftreten wenn die 256MB überschritten werden.

    Danke sehr.

    Thread-Starter wootimes

    (@wootimes)

    Ich habe mittlerweile eine Lösung gefunden. Mit folgender Validierung:

    $user_box = trim( $fields['user_box'] );
    		$valid_fields['user_box'] = strip_tags( stripslashes( $user_box ) );

    Und dieser Checkbox Ausgabe:

    if( $this->options['user_box'] ) { 
    			$checked = ' checked="checked" '; 
    		}
    		
    		echo '<input type="checkbox" ' . $checked . ' id="user_box" name="wp_admin_theme_settings_options[user_box]" />';

    hat es geklappt 😉

    Thread-Starter wootimes

    (@wootimes)

    Ich habe mittlerweile eine Lösung gefunden:

    $get_the_color = get_option( 'wp_admin_theme_settings_options' );
    $custom_theme_color = $get_the_color['theme_color'];
    
    echo $custom_theme_color;

    Die gespeicherten Werte muss ich zunächst über get_option(); abrufen und daraus das Feld mit der entsprechende ID holen.

    So hat es geklappt! 😉

    Thread-Starter wootimes

    (@wootimes)

    Hi Torsten,

    danke für dein Feedback. Leider hilft mir das nicht weiter. Innerhalb eines loops können verschiedene Bereiche über das Backend hinzugefügt werden. Mit der zusätzlichen Auswahl von Page, Posts oder Products kann dann festgelegt werden, welcher Bereich wo angezeigt wird. Wähle ich die definierte WooCommerce Shop Page aus, dann funktioniert es nicht. Hier erhalte ich statt der von WordPress festgelegten Post ID, die ID des neusten WooCommerce Produktes. Deshalb trifft meine Abfrage nicht zu, wenn es darum geht einen bestimmten Bereich nur auf dieser Seite anzuzeigen.

    Die Abfrage sieht so aus:

    ...
    $leading_area_visibility_pages = ACF_GSF('leading_area_visibility_pages', 'option');
    ...
    if( $leading_area_visibility == 'post' ) {
    		// specific post
    		$display = is_single( $leading_area_visibility_posts );
    	} elseif( $leading_area_visibility == 'page' ) {
    		// specific page
    		$display = is_page( $leading_area_visibility_pages );
    	} elseif( $leading_area_visibility == 'frontpage' ) {
    		// front page
    		$display = is_front_page();
    	} elseif( $leading_area_visibility == 'each_post' ) {
    		// each post
    		$display = is_singular( 'post' );
    	} elseif( $leading_area_visibility == 'each_page' ) {
    		// each page
    		$display = is_singular( 'page' );
    	}
    if( $display ) {
        // show it
    }

    Wenn ich die Abfrage is_shop( $leading_area_visibility_pages ) ergänze, dann werden alle Bereiche an dieser Stelle angezeigt, die dort nicht sein dürften.

    Könnte man das evtl. umgehen? Es hängt wohl damit zusammen, dass die WooCommerce Shop Base Page keine eigene ID erhält.

    Forum: Allgemeine Fragen
    Als Antwort auf: Umlaute in PHP ersetzen
    Thread-Starter wootimes

    (@wootimes)

    Ich habe den Fehler gefunden, es lag am:

    strtoupper( substr( $glossay_query->post->post_title, 0, 1 ) );

    stattdessen mit:

    mb_strimwidth( $glossay_query->post->post_title, 0, 1 );

    funktioniert es.

    Forum: Allgemeine Fragen
    Als Antwort auf: Umlaute in PHP ersetzen
    Thread-Starter wootimes

    (@wootimes)

    Hier der Code dazu, wo der Buchstabe ausgegeben wird:

    if ( $glossay_query->have_posts() ) {
    				
        $lt_content = '';	
        $glossary_letter = '';
        $active_letters = array( );
    								
        while ( $glossay_query->have_posts() ) {
            $glossay_query->the_post();
            $term_letter = strtoupper( substr( $glossay_query->post->post_title, 0, 1 ) );
    
           if ( $glossary_letter != $term_letter ) {
               $lt_content .= '<li class="glossary-heading" id="' . $term_letter . '">' .       
               $term_letter;
               $glossary_letter = $term_letter;
               $active_letters[] = $term_letter;
           }
    
       }
       ...
    }
    
    • Diese Antwort wurde vor 8 Jahren, 5 Monaten von wootimes geändert.
    Forum: Allgemeine Fragen
    Als Antwort auf: Umlaute in PHP ersetzen
    Thread-Starter wootimes

    (@wootimes)

    @aminteractiondesign: Also wenn du unter http://www.creative-dive.de/themes/hannah/glossary/ beim „U“ guckst, dann siehst Du das Fragezeichen anstelle des Umlautes. Die Sache ist auch die, das Replace ja gar nicht funktionieren kann, weil ja ein Fragezeichen ausgegeben wird und kein „Ü“, richtig?

    Thread-Starter wootimes

    (@wootimes)

    @aminteractiondesign Super, das hat direkt funktioniert. Vielen Dank 🙂

    Thread-Starter wootimes

    (@wootimes)

    @marten-willberg bisher ist Ruhe. Keine blockierten Anmeldeversuche mehr. Anscheinend war der Filter hilfreich. Danke sehr 🙂

    Thread-Starter wootimes

    (@wootimes)

    Hi marten,

    Danke, ich werde das die Tage mal ausprobieren und dann berichten ob die Attacken weitergehen oder endlich aufhören.

    Thread-Starter wootimes

    (@wootimes)

    Ich habe es jetzt so gelöst:

    if ( ! function_exists( 'smallbusiness_cd_kses' ) ) : 
    
    	function smallbusiness_cd_kses( $output ) {
    
    		// output full feature allowed html tags
    		return wp_kses( $output , wp_kses_allowed_html('post') );
    		
    	}
    
    endif;
    
    add_action( 'template_redirect', 'smallbusiness_cd_kses' );

    Im Template rufe ich es dann so auf:

    <?php echo smallbusiness_cd_kses( $my_custom_html ); ?>

    Damit sollte es jetzt sicher genug sein. 🙂

    Thread-Starter wootimes

    (@wootimes)

    @torsten: Ok, danke ich werde mich mal intensiver mit diesem Thema beschäftigen. Was ich jedoch nicht verstehe ist, warum strip_tags(); nicht ausreichend ist. Wenn man es auf diese Weise macht, kann man doch ebenso kein Javascript über das Feld einschleusen oder nicht?

    Thread-Starter wootimes

    (@wootimes)

    @torsten: Danke für dein Feedback. Also könnte ich eine Funktion schreiben wie:

    if ( ! function_exists( 'crediv_strip_tags' ) ) : 
    
    	function crediv_strip_tags() {
    		global $mystriptags;
    		$mystriptags = '<p><a><strong>';
    	}
    
    endif;
    
    add_action( 'template_redirect', 'crediv_strip_tags' );

    Und dann das Feld so ausgeben lassen:

    <?php 
    global $mystriptags;
    echo strip_tags($custom_popup_content, $mystriptags); 
    ?>

    Das entspricht dann auch einer escapten Ausgabe?

    Sehe ich das richtig, wenn man bspw. ein Feld hat, worüber man einen Google Analytics Code im Backend eingeben kann, der dann ausgegeben wird. Das dieses Feld anfällig für Schafcode wäre, weil ja hier nicht JS escaped werden kann, da ansonsten ja der Tracking Code auch nicht mehr funktioniert.

    Thread-Starter wootimes

    (@wootimes)

    Jedenfalls danke, jetzt hat es ja geklappt! 🙂

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 30)