• Skip to main content
  • Skip to primary sidebar

WordPress, Genesis Framework and Storefront customization tutorials

  • Archive
    • Free
    • Premium
  • Blog
  • About
  • Contact
  • Newsletter
  • Login
Home » PHP » Page 2

PHP

Add sub-page to body_class if it’s not front-page

// =========================================================================
// ADD SUBPAGE BODY CLASS 
// =========================================================================
function body_class_subpage($classes) {
    global $wpdb, $post;
    if(!is_front_page()){
       $classes[] = 'sub-page';
    }
    return $classes;
}
add_filter('body_class','body_class_subpage'); 

Filed Under: Free Tagged With: PHP

Remove menu items from WordPress admin

Remove menu items for specific user roles

Filed Under: Free Tagged With: PHP

Add category and tag support to pages in WordPress

// =========================================================================
// ADD CATEGORY SUPPORT TO PAGES
// =========================================================================
function add_categories_to_pages() {
    register_taxonomy_for_object_type( 'category', 'page' );
}
add_action( 'init', 'add_categories_to_pages' );


// =========================================================================
// ADD TAG SUPPORT TO PAGES
// =========================================================================
function tags_support_all() {
	register_taxonomy_for_object_type('post_tag', 'page');
}
add_action('init', 'tags_support_all');

Filed Under: Free Tagged With: PHP

How to list categories in a dropdown menu

<?php
    if( $terms = get_terms( array(
        'taxonomy' => 'category', // to make it simple I use default categories
        'orderby' => 'name'
    ) ) ) : 
        // if categories exist, display the dropdown
        echo '<div class="isotope-filter-wrapper">';
            echo '<select name="categoryfilter"><option value="">Select category...</option>';
            foreach ( $terms as $term ) :
                echo '<option value="' . $term->term_id . '">' . $term->name . '</option>'; // ID of the category as an option value
            endforeach;
            echo '</select>';
        echo '</div>';
    endif;  
?>

Filed Under: Free Tagged With: PHP

Add custom image size to media image

// =========================================================================
// ADD CUSTOM IMAGE SIZE 
// =========================================================================
add_image_size( 'custom-size', 800, 540, array( 'left', 'top' ) ); // Hard crop left top

Filed Under: Free Tagged With: PHP

Add class to the excerpt with filter

// =========================================================================
// ADD CLASS TO EXCERPT
// =========================================================================
add_filter( "the_excerpt", "add_class_to_excerpt" );

function add_class_to_excerpt( $excerpt ) {
    return str_replace('<p', '<p class="card-text"', $excerpt);
}

Filed Under: Free Tagged With: PHP

Shortcode with attributes – custom link and text

// =========================================================================
// BUTTON SHORTCODE WITH ATTRIBUTES
// =========================================================================
function btn_shortcode( $atts, $content = null ) {
    $a = shortcode_atts( array(
        'href'  =>  '#',
        'text' => ''
    ), $atts );

    return '<a class="btn-cta" href="' . esc_attr($a['href']) . '">' . esc_attr($a['text']) . '</a>';
}
add_shortcode( 'button', 'btn_shortcode' );

Filed Under: Free Tagged With: PHP

Add parent page slug to body_class

// =========================================================================
// ADD PARENT PAGE SLUG TO BODY CLASS 
// =========================================================================
function body_class_section($classes) {
    global $wpdb, $post;
    if (is_page()) {
        if ($post->post_parent) {
            $parent = end(get_post_ancestors($current_page_id));
        } else {
            $parent = $post->ID;
        }
        $post_data = get_post($parent, ARRAY_A);
        $classes[] = 'parent-' . $post_data['post_name'];
    }
    return $classes;
}
add_filter('body_class','body_class_section'); 

Filed Under: Free Tagged With: PHP

Add Facebook Pixel to wp_head

// =========================================================================
// ADD FACEBOOK PIXEL TO WP_HEAD
// =========================================================================
function add_facebook_pixel() { ?>
   <!-- Facebook Pixel Code -->
    <script>
      !function(f,b,e,v,n,t,s)
      {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
      n.callMethod.apply(n,arguments):n.queue.push(arguments)};
      if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
      n.queue=[];t=b.createElement(e);t.async=!0;
      t.src=v;s=b.getElementsByTagName(e)[0];
      s.parentNode.insertBefore(t,s)}(window, document,'script',
      'https://connect.facebook.net/en_US/fbevents.js');
      fbq('init', 'xxxxxxxxxxx');
      fbq('track', 'PageView');
    </script>
    <noscript><img height="1" width="1" style="display:none"
      src="https://www.facebook.com/tr?id=xxxxxxxxxxx&ev=PageView&noscript=1"
    /></noscript>
    <!-- End Facebook Pixel Code -->
<?php } 
add_action('wp_head', 'add_facebook_pixel');


// =========================================================================
// ADD FACEBOOK CONVERSION EVENT SNIPPET TO THANK YOU PAGE
// =========================================================================
function conversion_tracking_thank_you_page() { ?>
    <script>
        fbq('track', 'Purchase');
    </script>';
<?php }
add_action( 'woocommerce_thankyou', 'conversion_tracking_thank_you_page' );

Filed Under: Free Tagged With: PHP

How to get slug of current page?

<?php 
    global $post;
    $post_slug=$post->post_name;
?>

Filed Under: Free Tagged With: PHP

How to set different posts_per_page on mobile devices

<?php
wp_reset_postdata();

 if( wp_is_mobile() ) {
        $posts_per_page = 15;
    } else{
        $posts_per_page = -1;
 }

 
$args = array(
      'post_type'      => 'my_post_type',
      'posts_per_page' => $posts_per_page,
);

Filed Under: Free Tagged With: PHP

How to hide WordPress admin bar

function disable_admin_bar() {
   if (current_user_can('administrator') || current_user_can('contributor') ) {
     show_admin_bar(true);
   } else {
     // hide admin bar
     show_admin_bar(false);
   }
}
add_action('after_setup_theme', 'disable_admin_bar');

Filed Under: Free Tagged With: PHP

How to hide WordPress admin menus?


function hide_menu_items(){
		remove_menu_page( 'index.php' );								// Dashboard
		remove_menu_page( 'edit.php' );								 // Posts
		remove_menu_page( 'upload.php' );							 // Media
		remove_menu_page( 'edit.php?post_type=page' );	
// Pages
		remove_menu_page( 'edit-comments.php' );				
// Comments
		remove_menu_page( 'themes.php' );							 // Appearance
		remove_menu_page( 'plugins.php' );							// Plugins
		remove_menu_page( 'users.php' );								// Users
		remove_menu_page( 'tools.php' );								// Tools
		remove_menu_page( 'options-general.php' );			
// Settings
}
add_action( 'admin_menu', 'hide_menu_items' );

Filed Under: Free Tagged With: PHP

Ninja Forms: How do I Edit or Translate “Fields marked with an * are required?”

// =========================================================================
// TRANSLATE REQUIRED FIELDS IN NINJA FORMS
// =========================================================================
function my_custom_ninja_forms_i18n_front_end( $strings ) {
    $strings['fieldsMarkedRequired'] = 'A *-gal jelölt mezők kitöltése kötelező';
    return $strings;
}
add_filter( 'ninja_forms_i18n_front_end', 'my_custom_ninja_forms_i18n_front_end' );

Filed Under: Free Tagged With: PHP

How to create Custom Post Type Taxonomy

// =========================================================================
// CUSTOM POST TYPE TAXONOMY
// =========================================================================

function create_custom_post_types_taxonomy() {
    register_taxonomy(
        'POST_TYPE_cat',
        'POST_TYPE',
        array(
            'label' => __( 'Kategória' ),
            'rewrite' => array( 'slug' => 'POST_TYPE-type' ),
            'hierarchical' => true,
            'show_admin_column' => true,
        )
    );
}
add_action( 'init', 'create_custom_post_types_taxonomy' );

Filed Under: Free Tagged With: PHP

Add Cover Image Upload Option to Customizer

Add this to functions.php

// =========================================================================
// CUSTOMIZER COVER
// =========================================================================
function genesis_cover_customize_register( $wp_customize ) {

    // Add Settings
    $wp_customize->add_setting('customizer_setting_cover_image', array(
        'transport'         => 'refresh',
        'height'         => 325,
    ));

    // Add Section
    $wp_customize->add_section('cover_section', array(
        'title'             => __('Cover image', 'name-theme'), 
        'priority'          => 70,
    ));    

    // Add Controls
    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'customizer_setting_cover_image', array(
        'label'             => __('Add cover image', 'name-theme'),
        'section'           => 'cover_section',
        'settings'          => 'customizer_setting_cover_image',    
    )));
}
add_action('customize_register', 'genesis_cover_customize_register');

Call

<img src="<?php echo esc_url( get_theme_mod( 'customizer_setting_cover_image' ) ); ?>" alt="Cover image">

Hook cover v1

// =========================================================================
// COVER
// =========================================================================
add_action('genesis_before_content', 'cover');
    function cover(){
        if ( is_front_page() ){
            echo '<img class="cover" src="'.esc_url( get_theme_mod( 'customizer_setting_cover_image' ) ).'" alt="Cover Image">';
    }
}

Hook cover v2

// =========================================================================
// COVER
// =========================================================================
add_action('genesis_after_header', 'add_cover');
function add_cover(){
    if( is_front_page() ){
        include('inc/cover.php');
    }
}
include('functions/add-cover-to-customizer.php');

Filed Under: Free Tagged With: PHP

Remove junk from WP Head

Filed Under: Free Tagged With: PHP

Custom Post Type Taxonomy Filter in Admin

<?php

add_action('restrict_manage_posts', 'tsm_filter_post_type_by_taxonomy');
function tsm_filter_post_type_by_taxonomy() {
	global $typenow;
	$post_type = 'YOUR-POST-TYPE'; // change to your post type
	$taxonomy  = 'YOUR-TAXONOMY'; // change to your taxonomy
	if ($typenow == $post_type) {
		$selected      = isset($_GET[$taxonomy]) ? $_GET[$taxonomy] : '';
		$info_taxonomy = get_taxonomy($taxonomy);
		wp_dropdown_categories(array(
			'show_option_all' => __("Összes kategória"),
			'taxonomy'        => $taxonomy,
			'name'            => $taxonomy,
			'orderby'         => 'name',
			'selected'        => $selected,
			'show_count'      => true,
			'hide_empty'      => true,
		));
	};
}

add_filter('parse_query', 'tsm_convert_id_to_term_in_query');
function tsm_convert_id_to_term_in_query($query) {
	global $pagenow;
	$post_type = 'YOUR-POST-TYPE'; // change to your post type
	$taxonomy  = 'YOUR-TAXONOMY'; // change to your taxonomy
	$q_vars    = &$query->query_vars;
	if ( $pagenow == 'edit.php' && isset($q_vars['post_type']) && $q_vars['post_type'] == $post_type && isset($q_vars[$taxonomy]) && is_numeric($q_vars[$taxonomy]) && $q_vars[$taxonomy] != 0 ) {
		$term = get_term_by('id', $q_vars[$taxonomy], $taxonomy);
		$q_vars[$taxonomy] = $term->slug;
	}
}

Filed Under: Premium Tagged With: PHP

How to loop related posts by tags

<?php

$tags = wp_get_post_tags($post->ID);

if ($tags) {
    
    echo '<h3>Kapcsolódó bejegyzések</h3>';
    
    $first_tag = $tags[0]->term_id;
    
    $args=array(
        'tag__in' => array($first_tag),
        'post__not_in' => array($post->ID),
        'posts_per_page'=>5,
        'caller_get_posts'=>1
    );
    
    $my_query = new WP_Query($args); ?>
    
    <div class="row">
    
    <?php if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $my_query->the_post(); ?>
        
        <div class="col-md-4">
            <div class="card">
                     <div class="item-hover circle effect13 top_to_bottom">
                         <a href="<?php the_permalink(); ?>">
                              <div class="card-body">
                                <h3 class="card-title"><?php the_title(); ?></h3>
                                <p class="readmore"><i class="fas fa-angle-right"></i> <?php include('translate/tovabb.php'); ?></p>
                              </div>
                              <div class="info">
                                    <div class="info-back home-posts">
                                        <h3 class="label"><?php the_title(); ?></h3>
                                        <p class="readmore-postsback"><i class="fas fa-angle-right"></i><?php include('translate/tovabb.php'); ?></p>
                                    </div>
                              </div>
                      </a>
                    </div>
                </div>
            </div>

    <?php
    endwhile;
    }
    ?>
    </div>
    <?php
    wp_reset_query();
}
?>

Filed Under: Free Tagged With: PHP

WordPress Debug Mode

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Filed Under: Free Tagged With: PHP

  • « Go to Previous Page
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Go to Next Page »

Primary Sidebar

Gabor Flamich

Hi! I'm Gabor.
I write tutorials on WordPress and WooCommerce.

MacBook

12 Essential Snippets for Genesis Developers

Subscribe to my Newsletter to view my basic collection of Genesis snippets that I use for my projects!

Sign Up for Free
  • Facebook
  • GitHub
  • Instagram
  • LinkedIn
  • Twitter
  • YouTube
UpdraftPlus Premium

Tags

ACF Ajax Analytics API Bootstrap Breadcrumb category CPT CSS fetch FSE Genesis Google Maps Gutenberg HTML Isotope JavaScript jQuery loop Map Menu Parallax PHP Rest API SASS SEO SQL Storefront SVG tab tag manager tags Taxonomy Tool upsell Webpack Wholesale WooCommerce WordPress WPML

Disclosure: Some of the links in this site are affiliate links. I will be paid a commission if you use this link to make a purchase.

  • Privacy Policy / Terms of Service
© 2026 WP Flames - All Right Reserved