Support » Plugins and Hacks » [Resolved] Made a template function loop

[Resolved] Made a template function loop

  • Hi,
    I really like your plugin. I badly needed the abillity to use multiple templates, so i made working fixes you could optimize and add in your neat plugin! 🙂

    I added:

    in user-view-show-staff-list.php line 3 to 16:

    function sslp_staff_member_listing_shortcode_func($atts) {
    	  'single' => 'no',
    	  'group' => '',
    	  'wrap_class' => '',
              'template' => '',
    	  'order' => 'ASC',
    	), $atts));
    	// Get Template and CSS
    	$custom_html 				= stripslashes_deep(get_option('_staff_listing_custom_html'));
    	$custom_css 				= stripslashes_deep(get_option('_staff_listing_custom_css'));
    	$custom_html2 				= stripslashes_deep(get_option('_staff_listing_custom_html2'));

    in user-view-show-staff-list.php line 49 to 57:

    	  * Set up our loop_markup
        if (empty($template)){
            $loop_markup = $loop_markup_reset = str_replace("[staff_loop]", "", substr($custom_html, strpos($custom_html, "[staff_loop]"), strpos($custom_html, "[/staff_loop]") - strpos($custom_html, "[staff_loop]")));
        elseif ($template = '2'){
            $loop_markup = $loop_markup_reset = str_replace("[staff_loop]", "", substr($custom_html2, strpos($custom_html2, "[staff_loop]"), strpos($custom_html, "[/staff_loop]") - strpos($custom_html2, "[staff_loop]")));

    then in admin-views.php line 200ish

    // Build the 'Templates' Page
    function sslp_staff_member_template_page(){ 
    	// Get options for default HTML CSS
    	$default_html = get_option('_staff_listing_default_html');
    	$default_css = get_option('_staff_listing_default_css');
            $default_html2 = get_option('_staff_listing_default_html2');

    then in admin-views.php line 234ish to 346:

    // Check Nonce and then update options
    	if ( !empty($_POST) && check_admin_referer( 'staff-member-template', 'staff-list-template' ) ) {
    		update_option('_staff_listing_custom_html', $_POST[ "staff-listing-html"]);
    		update_option('_staff_listing_custom_css', $_POST[ "staff-listing-css"]);
    		$custom_html = stripslashes_deep(get_option('_staff_listing_custom_html'));
    		$custom_css = stripslashes_deep(get_option('_staff_listing_custom_css'));
    		update_option('_staff_listing_custom_html2', $_POST[ "staff-listing-html2"]);
    		$custom_html2 = stripslashes_deep(get_option('_staff_listing_custom_html2'));
    		// Save custom css to a file in current theme directory
    		$filename = get_stylesheet_directory() . '/simple-staff-list-custom.css';
    		file_put_contents($filename, $custom_css);
    	} else {
    		$custom_html = stripslashes_deep(get_option('_staff_listing_custom_html'));
    		$custom_html2 = stripslashes_deep(get_option('_staff_listing_custom_html2'));
    		// Save custom css to a file in current theme directory
    		$filename = get_stylesheet_directory() . '/simple-staff-list-custom.css';
    		if (!file_exists($filename)){
    			$custom_css = stripslashes_deep(get_option('_staff_listing_custom_css'));
    		    file_put_contents($filename, $custom_css);
    		} else {
    			$custom_css = file_get_contents($filename);
    $output .= '<div class="wrap sslp-template">';
    	$output .= '<div id="icon-edit" class="icon32 icon32-posts-staff-member"><br /></div><h2>Simple Staff List</h2>';
    	$output .= '<h2>Templates</h2>';
        $output .= '<div>';
        $output .= '<h4>Accepted Template Tags <strong>(UNFORMATTED)</strong></h4>';
        $output .= $default_tag_ul;
        $output .= '<br />';
        $output .= '<h4>Accepted Template Tags <strong>(FORMATTED)</strong></h4>';
        $output .= $default_formatted_tag_ul;
        $output .= '<br />';
        $output .= '<p>These <strong>MUST</strong> be used inside the <code>[staff_loop]</code> wrapper. The unformatted tags will return plain strings so you will want to wrap them in your own HTML. The <code>[staff_loop]</code> can accept any HTML so be careful when adding your own HTML code. The formatted tags will return data wrapped in HTML elements. For example, <code>[staff-name-formatted]</code> returns <code><h3>STAFF-NAME</h3></code>, and <code>[staff-email-link]</code> returns <code><a href="mailto:STAFF-EMAIL" title="Email STAFF-NAME">STAFF-EMAIL</a></code>.</p>';
        $output .= '<p>**Note: All emails are obfuscated using the <a href="http://codex.wordpress.org/Function_Reference/antispambot" target="_blank" title="WordPress email obfuscation function: antispambot()">antispambot() WordPress function</a>.</p>';
        $output .= '<br />';
        $output .= '<form method="post" action="">';
        $output .= '<h3>Staff Loop Template</h3>';
        $output .= '<div class="default-html">
        				<h4 class="heading button-secondary">View Default Template</h4>
        				<div class="content">
        			</div><br />';
        $output .= '<textarea name="staff-listing-html" cols="120" rows="16">'.$custom_html.'</textarea>';
        $output .= '<p><input type="submit" value="Save ALL Changes" class="button button-primary button-large"></p><br /><br />';
        $output .= '<h3>Staff Page CSS</h3>';
        $output .= '<div class="default-css">
        				<h4 class="heading button-secondary">View Default CSS</h4>
        				<div class="content">
        			</div><br />';
        $output .= '<p style="margin-top:0;">Add your custom CSS below to style the output of your staff list. I\'ve included selectors for everything output by the plugin.</p>';
        $output .= '<textarea name="staff-listing-css" cols="120" rows="16">'.$custom_css.'</textarea>';
        $output .= '<p><input type="submit" value="Save ALL Changes" class="button button-primary button-large"></p>';
        $output .= wp_nonce_field('staff-member-template', 'staff-list-template');
        $output .= '</div>';
        $output .= '<h3>Staff Loop Template2</h3>';
        $output .= '<div class="default-html2">
        				<h4 class="heading button-secondary">View Default Template2</h4>
        				<div class="content">
        			</div><br />';
        $output .= '<textarea name="staff-listing-html2" cols="120" rows="16">'.$custom_html2.'</textarea>';
        $output .= '<p><input type="submit" value="Save ALL Changes" class="button button-primary button-large"></p><br /><br />';
        $output .= '</form>';
        $output .= '</div>';
        echo $output;

    Did i forget something?. The tweaks works wonders with your great plugin.


Viewing 1 replies (of 1 total)
  • Plugin Author Brett Shumaker


    Hey Schyst,

    That’s awesome! Nice to see somebody take the time to extend my plugin like that. I’ve been working on including this in an upcoming version, but I’m going to make it to where you can add as many custom templates as you’d like.

    But again, thanks for doing this and I’m sure I’ll definitely reference this when I start working on this.

    Thanks for using my plugin. If you have a few minutes would you mind rating it for me? I’d really appreciate it.

Viewing 1 replies (of 1 total)
  • The topic ‘[Resolved] Made a template function loop’ is closed to new replies.