Kategorien
Funktionen ohne Plugin

Geschützt: Berechnung auf einer Seite

Dieser Inhalt ist passwortgeschützt. Um ihn anschauen zu können, bitte das Passwort eingeben:

Kategorien
Funktionen ohne Plugin

Eine PDF-Datei in Seite oder Beitrag einbetten

Mit diesem Code ist das folgende PDF im Textmodus des Editors eingebettet:

<embed src="http://gsew.de/stuff/100115-L-366hr-Veranstaltung.pdf" width="96%" height="500"></embed>

5779 mal gelesen

Kategorien
Funktionen ohne Plugin

Geschützter interner Bereich mit Dokumenten (Dateiliste auf Seite)

dazu legen wir im wp-root einen neuen Ordner an /dokumente/intern In diesen speichern wir per FTP-Programm unsere Dokumente und schützen ihn per .htaccess

Dann schreiben wir eine neue Funktion in die functions.php des Themes oder Childthemes die die Dateien im Ordner automatisch auflistet:

// --> Dateiliste auf intern
function datei_liste( $atts ) {
	extract( shortcode_atts( array(
                'titel' => 'Dokumente',
		'text' => 'dies ist ein Beispieltext',
		'pfad' => 'wp-content',
	), $atts ) );

           $verzeichnis = array_slice(scanDir($pfad), 2);
           echo "<h3>$titel:</h3>";
           echo "<p>$text</p>";
           foreach ($verzeichnis as $element) {
              if ($element != ".htaccess") {
                 // $size = ceil(filesize($pfad.'/'.$element)/1024);
                 echo "<a href=\"../$pfad/$element\">";
                 echo "&raquo; ".substr($element,0,-4);
                 echo "</a>";
                 // echo ' ('.$size.' kb)';
                 echo "<br />";
           }
         }
}
add_shortcode( 'liste', 'datei_liste' );

Wir erstellen eine neue Seite und schreiben den shortcode hinein:
[liste pfad='dokumente/intern' titel='interne Dokumente' text='Über die folgenden Links können sich die Vorstansdmitglieder über diverse, interne Themen informieren.']

So sieht es aus: http://seniorenpark-bammental.de/intern/

7268 mal gelesen

Kategorien
Funktionen ohne Plugin

Ein Menüpunkt mit dem Namen des angemeldeten User erzeugen

Hier hätte ich ein Code-snippet zum Einbau ins Menü oder in die Sidebar. Der Menüpunkt wird nach Anmeldung angezeigt.

<?php /* Ein Menüpunkt mit dem Namen des angemeldeten User wird erzeugt */
global $current_user;
get_currentuserinfo();
$meine_domain=home_url();
$special_link=$current_user->user_login;
echo "<a href='$meine_domain/$special_link'>$special_link</a>";
?>

3064 mal gelesen

Kategorien
Design ohne Plugin Funktionen ohne Plugin

WP-Mediathek, Album aus mehreren Galerien

Es muss eine Seite für jede Galerie erzeugt werden, diese wird benötigt um BIlder hochzuladen und ggf. die Galerie um weitere Bilder zu ergänzen (dient nur zur Zuordnung der Bilder, nicht in der Navi aufgelistet).

Eine Galerie kann nun anhand der Seiten-ID identifiziert werden:
Einbau einer Galerie per shortcode in eine Seite/Beitrag (Leerzeichen nach [ und vor ] entfernen) :

[ gallery columns="5" link="file" id="581" ]

Einbau mehrerer Galerien per shortcode in eine Seite/Beitrag (Leerzeichen nach [ und vor] entfernen):

Galerie 1
[ gallery columns="5" link="file" id="581" ]

Galerie 2
[ gallery columns="5" link="file" id="582" ]

Durch die Verwendung der Seiten-ID kann eine Galerie um weitere Bilder ergänzt werden, ohne an der Ausgabeseite etwas verändern zu müssen.
Um nur eine bestimmte Anzahl von Vorschaubildern anzuzeigen nutze ich das Plugin: http://wordpress.org/plugins/paginated-effects-gallery/

Hier in Aktion zu sehen: http://privat.gsew.de/urlaubsimpressionen/deutschland/

14614 mal gelesen

Kategorien
Funktionen ohne Plugin

Störer auf dieser Seite

[tipp oben=’10px‘ rechts=’20px‘ schrift=’100%‘ rahmen=’4px‘ rahmenfarbe=’#55ac40′ radius=’15px‘ schatten=’10px 10px 5px -5px #999′ bild=“ tipp=‘Störer
Hier kann ein Hinweistext, ein interner-/ externer Link und/ oder ein Bild angezeigt werden.
So wird es gemacht‚]

Mit dem Störer kann man auf eine besondere Aktion oder Seite hinweisen. Der Störer wird auf einer Seite/in einem Artikel mittels Shortcode gesetzt.

Hier der Beispiel-Shortcode für einen Störer (alle Parameter sind optional, Leerzeichen nach [ und vor] entfernen):

[ tipp oben='250px' rechts='24px' schrift='100%' rahmen='4px' rahmenfarbe='#55ac40' radius='15px' schatten='10px 10px 5px -5px #999' bild='http://Pfad_zum_Bild.jpg&#039; tipp='<strong>Störer</strong>
Hier kann ein Hinweistext, ein interner-/ externer Link und/ oder ein Bild angezeigt werden.
<a href="http://Pfad_zu_dieser_Seite/">So wird es gemacht</a> ]

Die folgende Funktion wird dazu in die functions.php des Themes gesetzt.

<?php
// --> Text oder Link
function tipp_func( $atts ) {
	extract( shortcode_atts( array(
		'tipp' => '<strong>Hinweis</strong><br />Hier kann ein Hinweistext, ein interner- / externer Link und/oder ein Bild angezeigt werden.',
                'oben' => '200px',
                'rechts' => '200px',
                'adresse' => '',
                'farbe' => 'transparent',
                'rahmen' => '1px',
                'rahmenfarbe' => '#000000',
                'radius' => '',
                'schatten' => '',
                'schrift' => '90%',
                'bild' => '',
                'symbol' => '?',
	), $atts ) );

        if ($adresse <> '')
            $tipp = "<a href='$adresse'>$tipp</a> $symbol";
        if ($bild <> '')
            $tipp = "<img src='$bild' style='float:left;margin-bottom:12px;margin-right:12px;' alt='' />$tipp";

        $css = "position:absolute;
                top:$oben;
                right:$rechts;
                max-width:250px;
                padding:12px;
                background:$farbe;
                border:$rahmenfarbe $rahmen solid;
                border-radius: $radius;
                box-shadow: $schatten;
                font-size:$schrift;";
	return "<div style='$css'>$tipp</div>";
}
add_shortcode( 'tipp', 'tipp_func' );
?>

Diese Parameter können im Shortcode gesetzt werden (wenn ein Parameter nicht gesetzt wird, wird die Vorbelegung verwendet):

‚tipp‘ => ‚Hinweis
Hier kann ein Hinweistext, ein interner- / externer Link und/oder ein Bild angezeigt werden.‘,
‚oben‘ => ‚200px‘,
‚rechts‘ => ‚200px‘,
‚adresse‘ => “,
‚farbe‘ => ‚transparent‘,
‚rahmen‘ => ‚1px‘,
‚rahmenfarbe‘ => ‚#000000‘,
‚radius‘ => “,
’schatten‘ => “,
’schrift‘ => ‚90%‘,
‚bild‘ => “,
’symbol‘ => ‚?‘,

Besonderheit: Wenn adresse=xxx angegeben wird, wird automatisch gesamte Text in tipp als Link erzeugt.

5278 mal gelesen

Kategorien
Funktionen ohne Plugin

Eine einstellbare Umfrage

bis zu 13 Fragen und bis zu 5 Antworten.
Beispiel hier: http://gsew.de/entwicklungen/umfrage/

Es handelt sich dabei um ein eigenständiges System von php-scipten in denen die Daten angenommen, verarbeitet, gespeichert und ausgegeben werden.
Die Umfrage wird in der index.php des Themes aufgerufen:

<?php if(get_the_title()=='Eine einstellbare Umfrage')
       echo "<iframe src='URL/vote/index.php' width='600' height='400'></iframe>"; ?>

3988 mal gelesen

Kategorien
Funktionen ohne Plugin

Artikel nach Kategorien filtern

Hier wird mit Hilfe einer Templatedatei eine Seite erstellt, auf der eine Checkliste zur Auswahl verschiedener Kategorien oder Tags gezeigt wird. Die Artikel in den ausgewählten Kategorien/Tags werden dann als Artikelliste angezeigt. Zu sehen ist die Funktion hier: http://gsew.de/tourenvorschlaege-nach-wahl-kat/

Zentrales Element ist die Abfrage mit:

/*Für eine ODER-Abfrage*/
<?php query_posts(array('category__in'=>$catarray,'showposts'=>2,'orderby'=>parent,'order'=>ASC,'paged'=>$paged)); ?>

oder

/*Für eine UND-Abfrage*/
   <?php query_posts(array('category__and'=>$catarray,'showposts'=>2,'orderby'=>parent,'order'=>ASC,'paged'=>$paged)); ?>
/*Für Tags-Abfrage ersetze 'category__in' bzw 'category__and' durch 'tag__in' bzw 'tag__and' */

Der Einbau hängt natürlich vom Theme des Blog ab. Ein Theme besteht mindestens aus mehreren Templates (index.php, header.php, footer.php…‘) ab und kann etwas von dieser Beschreibung abweichen.

Erstelle eine Kopie deiner page.php und nenne sie z.B. tourenliste.php
Dann setze diesen Code oben in die Datei

<?php
/*
Template Name: tourenwahl
*/
?>

Jetzt erzeugst du eine neue Seite, gib ihr nur einen Titel und weise ihr das Template zu. Die neue Seite wird jetzt wie alle anderen Seiten aussehen.

Jetzt entfernen wir in der Datei tourenliste.php alles was mit der Anzeige des title, content usw. zu tun hat, also den ganzen Loop. Der DIV in dem der content steht, sollte nicht entfernt werden, er erhält den neuen Code.

<div id="content oder so ähnlich ist vorhanden">
/* Aufbau der Variablen $auswahl, Namen stammen aus den Formularfeldern */
<?php  
rewind_posts();
global $more;
global $anzahl;
global $wpdb;
$more = 0;
$anzahl=0;
?> 

<?php $k1 = $_REQUEST['k1']; ?>
<?php $k2 = $_REQUEST['k2']; ?>
<?php $k3 = $_REQUEST['k3']; ?>
<?php $h1 = $_REQUEST['h1']; ?>
<?php $h2 = $_REQUEST['h2']; ?>
<?php $h3 = $_REQUEST['h3']; ?>

<?php $k1 = htmlspecialchars($k1); ?>
<?php $k2 = htmlspecialchars($k2); ?>
<?php $k3 = htmlspecialchars($k3); ?>
<?php $h1 = htmlspecialchars($h1); ?>
<?php $h2 = htmlspecialchars($h2); ?>
<?php $h3 = htmlspecialchars($h3); ?>

<?php $auswahl =array(); ?>
<?php if($k1!=0) $auswahl[0] = $k1; ?>
<?php if($k2!=0) $auswahl[1] = $k2; ?>
<?php if($k3!=0) $auswahl[2] = $k3; ?>
<?php if($h1!=0) $auswahl[3] = $h1; ?>
<?php if($h2!=0) $auswahl[4] = $h2; ?>
<?php if($h3!=0) $auswahl[5] = $h3; ?>

<?php 
if (count($auswahl)==0)
   print ("Wählen Sie ihre Tour-Bedingungen.");
else { ?>

<?php
$catarray = array();
$i = 0;
foreach ($auswahl as $cat) { 
   $catarray[$i] = $cat;
   $selected_cat = $wpdb->get_var("SELECT name FROM $wpdb->terms WHERE term_id = $catarray[$i]"); 
   if ($selected_name<>"") $verknuepfung="oder"; 
      $selected_name = "$selected_name $verknuepfung $selected_cat";
      $i++;
   }; ?>

   <?php print("<strong>Ihre Auswahl: $selected_name</strong>"); ?>
   <?php query_posts(array('category__in'=>$catarray,'showposts'=>2,'orderby'=>parent,'order'=>ASC,'paged'=>$paged)); ?>
   <?php //query_posts(array('category__and'=>$catarray,'showposts'=>2,'orderby'=>parent,'order'=>ASC,'paged'=>$paged)); ?>
   <strong><br />Gefunden <?php echo $wp_query->found_posts; ?> Touren</strong>
   <br /><br /><hr />
   <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
       <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><strong><?php the_title(); ?></strong></a><!/h2>
       <?php the_content(__('(more...)')); ?><br /><hr /> 
       <?php if(get_post_type()=='post'); ?>
       <?php endwhile; else: ?> 
           <p><?php _e('Es wurde keine entspr. Tour gefunden!'); ?></p> 
       <?php endif; ?> 
       <div style="clear:both;float:left;"><?php previous_posts_link('« vorherige Seite') ?></div>
       <div style="float:right;margin-right:24px;"><?php next_posts_link('nächste Seite »','') ?></div>
       <?php }; ?>

<form action="<? $PHP_SELF; ?>">
    <div style="float:left;width:30%;"><h3>Strecke:</h3>
    <p>
    <input type="checkbox" name="k1" value="60" />10 km<br />
    <input type="checkbox" name="k2" value="61" />20 km<br />
    <input type="checkbox" name="k3" value="62" />30 km</p>
</div>

<div><h3>Zeit:</h3>
    <p>
    <input type="checkbox" name="h1" value="63" />2 Std<br />
    <input type="checkbox" name="h2" value="64" />4 Std<br />
    <input type="checkbox" name="h3" value="65" />8 Std</p>
</div>

<input name="submit" type="submit" value="Auswahl" /> </form>
value 60 bis 65 sind meine Kategorie-IDs

3478 mal gelesen