Verfasste Forenbeiträge

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Thread-Starter winnewoerp

    (@joschi81)

    Danke für deinen Hinweis auf Google-Formulare.

    Verworfen hatte ich:
    – LimeSurvey nutzen und in WP einbinden, das schien mir doch recht aufwändig
    – Diverse bestehende WP-Plugins, u.a.
    — WP-Polls, da nur eine Frage möglich und Workaround für mehrere Fragen zu aufwändig: https://wordpress.org/plugins/wp-polls/
    — WordPress Survey & Poll, da es mir nicht so einfach möglich schien, damit eine „aufgeräumte und schlichte“ Online-Befragung hinzubekommen
    — Weitere Survey-, Quiz- und Poll-Plugins, da alles irgendwie nicht nach meinem Geschmack war.
    — Typeform, da ich schlechte Erfahrungen damit bzgl. Einbindung in WP gemacht habe https://www.typeform.com/

    Ich brauche was ganz Simples, wo ich über das Dashboard Befragungen mit beliebig vielen Fragen jeweils mit x Antwortmöglichkeiten oder mit einem Kommentarfeld als Nutzereingabe erstellen kann. Ich baue doch gerade eine eigene Lösung. So sieht es im Frontend aus (schnell mal eine Testvariante gebaut):
    https://stadtkreation.de/testbefragung/
    Datenbankeintragung geht schon, Frontend-Eintragung auch (Fehlerüberprüfung fehlt noch). Das Backend ist noch im Aufbau, da geht aber auch schon alles bis auf das Hinzufügen neuer Fragen und Antwortmöglichkeiten für bestehende Befragungen.

    Also: In diesem Fall war eine Eigenlösung die beste Variante aus meiner Sicht.

    Viele Grüße
    joschi81

    • Diese Antwort wurde geändert vor 6 Jahren von winnewoerp. Grund: zuvor aus Versehen unfertig abgesendet
    Thread-Starter winnewoerp

    (@joschi81)

    @ teimo: Ja, danke, lokal nutze ich sie schon, würde sie aber gerne der WP-Community zur Verfügung stellen. 🙂 Ich versuche es noch einmal im Plugin-Forum.

    @ Torsten: Ok, das kann ich mal machen. Und was passiert mit bereits übersetzten Strings? Ich habe heute erst gesehen, dass 13% des Plugins schon übersetzt sind.

    PTE: Gute Hinweis, danke, ich schaue mal.

    Grüße
    joschi81

    • Diese Antwort wurde geändert vor 6 Jahren, 1 Monat von winnewoerp.
    Thread-Starter winnewoerp

    (@joschi81)

    Gelöst, ich habe einfach einen anderen Weg gewählt:

    if ( have_posts() ) :
    
    			if ( is_home() && ! is_front_page() ) : ?>
    				<header>
    					<h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
    				</header>
    
    			<?php
    			endif;
    			if(!get_query_var( 'paged' )) { ?>
    				<div class="post-list recent-post">
    			<?php
    				$post = get_post();
    				
    				get_template_part( 'template-parts/content', get_post_format() );
    				wp_reset_postdata;
    				
    				global $post; ?>
    				</div>
    			<?php
    			}
    			?>
    			<div class="post-list older-posts">
    			<?php
    			
    			$page = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
    			$offset = ( $page - 1 ) * get_option('posts_per_page') + 1;
    			
    			$query_string = array(
    				'offset' => $offset
    			);
    			$second_query = new WP_Query($query_string);
    
    			/* Start the Loop */
    			while ( $second_query->have_posts() ) : $second_query->the_post();
    
    				/*
    				 * Include the Post-Format-specific template for the content.
    				 * If you want to override this in a child theme, then include a file
    				 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    				 */
    				get_template_part( 'template-parts/content', get_post_format() );
    
    			endwhile;
    			?>
    			</div>
    			<?php
    
    			the_posts_navigation();
    
    		else :
    
    			get_template_part( 'template-parts/content', 'none' );
    
    		endif;
    Thread-Starter winnewoerp

    (@joschi81)

    Das hat sich erledigt. Ganz einfache und peinliche Erklärung: Ohne mein Wissen war das Plugin „Disable Search“ (https://wordpress.org/plugins/disable-search/) installiert worden, warum auch immer. Ich habe es nun deaktiviert.

    Viele Grüße
    joschi81

    Thread-Starter winnewoerp

    (@joschi81)

    Hallo,

    nein, leider nicht bei GitHub. Aber hier nun als .zip:
    http://dev.stadtkreation.com/umlandscout.zip

    Wie gesagt, als Chilc Theme von Thematic verwendet:
    https://thematictheme.com/

    Habe auch gerade noch einmal vorsichtshalber in der .htaccess-Datei geschaut, da sieht auch nichts verdächtig aus m.E.

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} umlandscout\.hamburg\.de [NC]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^index\.php$ index.php?theme=hamburg.de [L]
    
    RewriteCond %{HTTP_HOST} umlandscout\.hamburg\.de [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php?theme=hamburg.de [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    php_value upload_max_filesize 512M
    php_value post_max_size 512M
    php_value max_execution_time 300
    php_value max_input_time 300

    Der erste Teil bezieht sich darauf, dass wir mit zwei Themes live sind (wenn alles läuft):
    http://www.umlandscout.de/?theme=hamburg.de

    Danke für mögliche Tipps.

    Viele Grüße
    joschi81

    Forum: Plugins
    Als Antwort auf: Sprachenproblem
    Thread-Starter winnewoerp

    (@joschi81)

    ALL-INKL.COM ist mein Hoster. Ich frage mal nach.

    Danke für den Hinweis.

    Viele Grüße
    joschi81

    Forum: Plugins
    Als Antwort auf: Sprachenproblem
    Thread-Starter winnewoerp

    (@joschi81)

    danke für die Rückmeldung. Ich kann unter Einstellungen > Allgemein > Sprache leider nur explizit installierte Sprachen auswählen. Kann das am Hoster liegen?

    VIele Grüße
    joschi81

    Thread-Starter winnewoerp

    (@joschi81)

    So, hier nun auch Teil 2: Suchfilter, der Titel, Inhalt, Autornamen (für angemeldete Benutzer Benutzername, für nicht angemeldete ein benutzerdefiniertes Feld) mit einbezieht.

    // additional filter to query "title like %...% or content like %...%" or post_author (display_name) like %...% or meta field author-name like %...%
    add_filter( 'posts_where', 'theme_title_content_like_posts_where', 10, 2 );
    function theme_title_content_like_posts_where( $where, &$wp_query ) {
      global $wpdb;
      if ( $post_title_content_like = $wp_query->get( 'post_title_content_like' ) ) {
        $where .= ' AND (' . $wpdb->posts . '.post_title LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_content_like ) ) . '%\'';
        $where .= ' OR '. $wpdb->posts . '.post_content LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_content_like ) ) . '%\'';
        $where .= ' OR '. $wpdb->posts . '.post_author IN (SELECT ID FROM '.$wpdb->users.' WHERE display_name  LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_content_like ) ) . '%\' )';
        $where .= ' OR '. $wpdb->posts . '.ID IN (SELECT post_id FROM '.$wpdb->postmeta.' WHERE (meta_key = \'author-name\' AND meta_value LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_content_like ) ) . '%\' )))';
      }
      return $where;
    }

    Ich hoffe, das Ganze ist nützlich für den ein oder anderen.

    Viele Grüße
    joschi81

    Thread-Starter winnewoerp

    (@joschi81)

    Ok, Aufgabenteil 1 erfolgreich erledigt. So kann man den Filter „posts_where“ erweitern, um nach einem String innerhalb von Titel, Inhalt oder Display-Namen des Users zu suchen:

    // additional filter to query "title like %...% or content like %...%" or post_author (display_name) like %...%
    add_filter( 'posts_where', 'theme_title_content_like_posts_where', 10, 2 );
    function theme_title_content_like_posts_where( $where, &$wp_query ) {
      global $wpdb;
      if ( $post_title_content_like = $wp_query->get( 'post_title_content_like' ) ) {
        $where .= ' AND (' . $wpdb->posts . '.post_title LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_content_like ) ) . '%\'';
        $where .= ' OR '. $wpdb->posts . '.post_content LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_content_like ) ) . '%\'';
        $where .= ' OR '. $wpdb->posts . '.post_author IN (SELECT ID FROM '.$wpdb->users.' WHERE display_name  LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_content_like ) ) . '%\' ))';
      }
      return $where;
    }

    Jetzt kommt Aufgabenteil 2: Einbeziehung meines benutzerdefinierten Feldes „author-name“.

    Habt ihr Tipps?

    Viele Grüße
    joschi81

    Thread-Starter winnewoerp

    (@joschi81)

    @monika: Danke für die Antwort. Aber ich glaube, ich komme hier mit meta_query nicht weiter. Ich muss ja innerhalb ein und desselben Filters (s.o.) die Bedingungen per OR miteinander verknüpfen können. Es geht ja darum, dass meine Live-Suche nicht nur Titel und Inhalt, sondern auch Username und author-name (wird befüllt, wenn der User beim Verfassen eines Beitrags nicht angemeldet war) mit filtert. Ich tippe im Moment, dass es auf komplexes SQL in dem posts_where-Filter hinausläuft.

    Hier sieht man den Filter, so wie oben im Code sichtbar, in Aktion:
    http://www.nextwien.at/#ideen
    (er filtert halt noch nicht den Nutzernamen mit)

    Weitere Tipps?

    Viele Grüße
    joschi81

    Thread-Starter winnewoerp

    (@joschi81)

    Danke, das probiere ich dann mal.

    Das mit der „Verbindung“ habe ich schon mal festgestellt, als ich aus Versehen ein eigenes (nur lokal gespeichertes) Plugin so genannt habe, wie eines, das es bereits im Directory gibt. Da wollte das System das mit der neuen Version eines ganz anderen Plugins mit demselben Namen überschreiben…

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)