Skip to:
Content
Pages
Categories
Search
Top
Bottom

Explanation for recurring coding pattern in BP core

  • Avatar of terraling
    terraling
    Participant

    @terraling

    After the very helpful response of @hnla to an earlier question I posted I’ve been reading through more of the core files to understand what I can and can’t hook into, and there is a recurring pattern I see in how the files are set up and I’m curious as to why, if anyone is able to elucidate.

    Random example, from bp-members-template.php

    function bp_members_slug() {
    	echo bp_get_members_slug();
    }
    function bp_get_members_slug() {
    	global $bp;
    	return apply_filters( 'bp_get_members_slug', $bp->members->slug );
    }

    If all bp_members_slug() does is echo bp_get_members_slug(), why not just use bp_get_members_slug() directly?

    It is such a common pattern there is obviously a good reason for it…

Viewing 3 replies - 1 through 3 (of 3 total)
  • Avatar of shanebp
    shanebp
    Moderator

    @shanebp

    Sometimes you want to echo the returned value.
    Sometimes you just want the value.

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    in other words if you are needing to pass the function return through another function like a shortcode or filter the last thing you want is the function trying to echo out the content as it causes problems.

    This is a common WP construct that BP follows, it’s useful to remember that nearly always when you see a WP function if you stick _get_ in there somewhere you’ll grab the value.

    Avatar of terraling
    terraling
    Participant

    @terraling

    OK, simple now you point it out, thanks to you both…

Viewing 3 replies - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.