Adding text to the footer of each post based on tags or categories

I would suggest a filter on the_content much like: function conditional_footer_wpse_165930() { if (is_single()) { if (has_category(‘cat’)) { return ‘This is the cat footer’; } } } add_filter(‘the_content’,’conditional_footer_wpse_165930′,PHP_INT_MAX); I am not sure about all of the details you require. You may need to tweak that code.

With over a page of content the footer remains where the bottom of the screen was at top scroll

Good news, I seem to have fixed the code. I cleaned up the code for #colophon. I changed it from this: #colophon { background:url(http://kjel.ca/wp-content/uploads/2014/12/footer-img.jpeg) repeat-x bottom center; height:80%; width:100%; position:absolute; margin:0; padding:0; bottom:0; min-width:100%; min-height:1%; } To this: #colophon { background: url(“http://kjel.ca/wp-content/uploads/2014/12/footer-img-2.jpeg”) repeat-x scroll center bottom transparent; height: 100%; position: absolute; width: 100%; background-size: 100% … Read more

Output column number according to active sidebars

Use the array_filter() function, which will remove every array element that has false as the value. Then you can count the array length. So your example would look like this: $sidebars = array( is_active_sidebar( ‘footer-4’ ), is_active_sidebar( ‘footer-3’ ), is_active_sidebar( ‘footer-2’ ), is_active_sidebar( ‘footer-1’ ), ); $active_sidebars = array_filter($sidebars); echo ‘col-‘.count($active_sidebars);

Add footer widgets

The correct way is to make a child theme from the chosen theme and alter only the footer template to add additional sidebars. You can prepare additional sidebars in the child themes function.php and add them to any template you need altered.

How do I properly code my footer? See example

you can use this code in the footer … <div class=”your-class-name”> <?php _e(‘Copyright &copy ‘, ‘textdomain’); ?> <?php echo date(‘Y’); ?> | <?php _e(‘Made by Dev ‘, ‘textdomain’); ?>| <a href=”#”><?php _e(‘Privacy Policy Terms of Use’, ‘textdomain’); ?></a> </div>