Design Meets Code

Design Meets Code

WordPress · PrestaShop

  • Startseite
  • WordPress
  • PHP / Datenbanken
  • Ubuntu
  • Prestashop
  • Grafik
  • Glossar

jQuery Accordion in WordPress einbinden

24. Juni 2017 Leave a Comment

Folgender Code wird in die Datei functions.php des Childthemes eingefügt, um Accordion Support zu aktivieren:

add_action( 'wp_enqueue_scripts', 'wm_accordion_support' );
function wm_accordion_support() {
       wp_enqueue_script('jquery-ui-accordion');
	wp_register_script( 'accordion-support', get_stylesheet_directory_uri() . '/js/accordion-support.js', array( 'jquery' ), '1.0.0', true );
	wp_enqueue_script( 'accordion-support' );
	
}

Im Childtheme einen Unterordner js erstellen, falls nicht vorhanden, und dort eine Datei accordion-support.js mit folgendem Inhalt einfügen.

jQuery(document).ready(function($) {
$( ".accordion" ).accordion({
			collapsible: true,
			active: false

		});

Hierdurch wird erreicht, dass das Accordion beim Laden der Seite standardmäßig geschlossen ist. Das Accordion hat hierbei die CSS Klasse .accordion. Falls das Accordion stattdessen eine id hat muss der Code entsprechend geändert werden (#accordion) oder falls die Klasse oder die ID anders heisst, der Name entsprechend.

Filed Under: WordPress Tagged With: Code Snippets, genesis, JavaScript, jQuery

Genesis: Blogpage auf eine bestimmte Kategorie beschränken

7. Juni 2017 Leave a Comment

Mit diesem Code in der functions.php kann man beim Genesis Framework die auf der Blogpage angezeigten Beiträge auf eine bestimmte Kategorie beschränken

add_action( 'pre_get_posts', 'sk_show_posts_from_a_category_posts_page' );
/**
 * Show Posts from a specific category on Posts page
 *
 * @author Bill Erickson
 * @author Sridhar Katakam
 * @link http://www.billerickson.net/customize-the-wordpress-query/
 * @param object $query data
 *
 */
function sk_show_posts_from_a_category_posts_page( $query ) {

	if( $query->is_main_query() && !is_admin() && is_home() ) {
		$query->set( 'category_name', 'category-1' ); // Replace "category-1" with your category slug
	}

}

Quelle: Bill Erickson | Sridharkatakam.com

Filed Under: WordPress Tagged With: Code Snippets, genesis

gmis Plugin: Genesis mit masonry layout => infinite scroll deaktivieren

7. April 2017 Leave a Comment

Es gibt ein wunderbares Plugin, mit dem man die Archivseiten eines Genesis Themes in einem schönen Masonry Layout darstellen kann. Dieses Plugin heisst gmis und steht auf wordpress.org frei zum Download zur Verfügung: gmis.

Dieses Plugin bindet einen infinite scrolling Nachlade-Effekt ein während die Seitennavigation ausgeblendet wird.

Der Nachlade Effekt funktioniert auch so einigermaßen. Bei sehr vielen Artikeln kann er jedoch störend wirken, zumal es manchmal einige nicht so schöne Nachladeeffekte gibt.

Um das Masonry Layout zu behalten und die normale Seitennavigation wieder einzusetzen, sind folgende Schritte notwendig:

In der Plugindatei gmis.php suche

function gmis_homepagefullwidth(){
if(is_home() || is_archive()){
remove_action( 'genesis_entry_footer', 'genesis_post_meta' );
remove_action( 'genesis_entry_header', 'genesis_post_info', 12 );
add_filter( 'genesis_pre_get_option_site_layout', '__genesis_return_full_width_content' );
add_filter( 'body_class', 'gmis_body_class' );
add_action( 'wp_enqueue_scripts', 'gmis_plugtohead' );
add_action('genesis_before_footer','gmis_nextlabel');
	}
}

und ersetze mit

function gmis_homepagefullwidth(){
if(is_home() || is_archive()){
remove_action( 'genesis_entry_footer', 'genesis_post_meta' );
remove_action( 'genesis_entry_header', 'genesis_post_info', 12 );
add_filter( 'genesis_pre_get_option_site_layout', '__genesis_return_full_width_content' );
add_filter( 'body_class', 'gmis_body_class' );
add_action( 'wp_enqueue_scripts', 'gmis_plugtohead' );
add_action('genesis_before_footer','gmis_nextlabel');
	remove_action( 'genesis_after_endwhile', 'genesis_posts_nav' );
	add_action( 'genesis_after_content', 'genesis_posts_nav' );
}
}

Dann werden etwas weiter unten die beiden Zeilen, in denen die Infinite Scroll Javascripte eingebunden werden, durch zwei vorangestellte // auskommentiert:

function gmis_plugtohead() {

    wp_enqueue_script('jquery');
    wp_enqueue_style( 'gmis-style', plugins_url( '/css/gmis.css' , __FILE__ ));
//  wp_enqueue_script( 'jquery-infinitescroll-min', plugins_url( '/js/jquery.infinitescroll.min.js' , __FILE__ ));
    wp_enqueue_script( 'isotope-pkgd-min', plugins_url( '/js/isotope.pkgd.min.js' , __FILE__ ));
//  wp_enqueue_script( 'infinitescroll-init', plugins_url( '/js/infinitescroll-init.js' , __FILE__ ));
    wp_enqueue_script( 'imagesloaded', plugins_url( '/js/imagesloaded.pkgd.min.js' , __FILE__ ));
    wp_enqueue_script( 'masn-init', plugins_url( '/js/masn-init.js' , __FILE__ ) );
}

Nun muss noch in der Datei gmis.css, die sich im Pluginunterordner css befindet, die ausgeblendete Seitennavigation wieder eingeblendet werden, indem der Befehl display: none; wieder auskommentiert wird.

.gmis-layout .pagination{
// display:none;
}

Nun ist der Nachladeeffekt deaktiviert und die Seiten lassen sich wieder mit der normalen Paginierung durchblättern.

Filed Under: WordPress Tagged With: genesis, WordPress

Anzeige

Themen

Apache BuddyPress Code Snippets Datenbank Email Enfold genesis Grid View htaccess imscp Indesign Katalogpreisregel Layout Builder LibreOffice Lieferschein List View Logout Mitgliederbereich MySQL PHP PHP Anfänger PHP Variablen Plugins Prestashop Prestashop 1.5 Prestashop 1.6 Prestashop 1.7 Prestashop 8 Prestashop Module Registrierung RSS Feed s2member Screencast Server Sicherheit ssl Startseite Strings Tipps Windows Windows 10 Windows 11 WooCommerce WooCommerce Sortierung WordPress
Anzeige

Letzte Kommentare

  • Martin bei CSS: Automatische Silbentrennung in einzelnen Wörtern verhindern
  • Martin bei CSS: Automatische Silbentrennung in einzelnen Wörtern verhindern
  • Klaus bei Woocommerce: Shop Seiten neu generieren
  • Thomas bei WordPress: Einzelne Kategorien aus dem RSS Feed ausschließen
  • Bernhard bei CSS: Automatische Silbentrennung in einzelnen Wörtern verhindern

Informationen

  • Kontakt
  • Datenschutzerklärung
  • Impressum
  • Cookie-Richtlinie (EU)
  • Kontakt
  • Datenschutzerklärung
  • Impressum
  • Cookie-Richtlinie (EU)
Anzeige