Working My Sites Filter

So previously I was struggling with stripping out the Participants blogs that the bbPress/BuddyPress combo was adding to the My Sites list. I got it working and added a bit to deal with it kicking out blogs a little too aggressively. First to get the actual name of the Participant slug, I made a page template for a theme that only did one thing- listed the user roles array. It is dead simple and looks like so . . . Throwing that in a theme let me know that the slug for participant was actually bbp_participant. I spent a lot of time thinking I was doing something else wrong. I’m also not a huge fan of doing things this way in PHP. I wish I had the a console log option like in javascript.


Refining the My Sites List

The following plugin (network activated) will strip out all blogs from your My Sites list where you aren’t an admin. I cobbled it together from some stuff Mark did to generate a list of blogs for the Mother Blog plugin. While it would be great for me, it would not work all that well for other people on rampages. Part of this is being driven by the BuddyPress/bbPress decision to add any logged in member who visits any other blog as a “Participant.” I had something that was stopping this previously but it seems to have stopped working. So I thought I could just flip this a bit and make it do the opposite (kick out any blogs where I am a participant). It works fine for the normal roles but not for participant. I’m not sure why. Anyone have a clue? Special roles are accessed some other way? UPDATE Turns out the slug is bbp_participant. Pays to look more deeply.

Benson, Discourse, and WordPress

It sounds like an exciting new buddy movie . . . but it’s an attempt to better integrate elements of our Discourse install in WordPress using Benson (a neat plugin Mark made that lets you use Angular w/in WordPress). I decided to look into this after seeing this example using Twig. Ordinarily, I’d do something like this using Discourse’s RSS feeds and probably manipulating it with FacetWP. I’m opting to look at these other options for a few reasons. One, with WordPress expanding JSON I want a better idea of how all that works in comparison to RSS. Two, I don’t really like duplicating all this content through the syndication option if I can achieve the same effect in other ways. I’m not so worried about space (although I don’t like to waste it) but there are occasionally issues with updates and duplications using RSS the way we do. I wonder if JSON will straighten some of that out. Angular also opens up a realm of options as you get closer to writing code rather than relying on plugins. And finally, I want to knit Discourse more tightly to WordPress. That’ll matter because of the strong resistance to “another site?” responses. What can you get out of Discourse via JSON? Short answer- lots of stuff. Much like WordPress you can […]

Flickr Group Widget – Round 1

flickr photo shared by Little Orange Crow under a Creative Commons ( BY-NC ) license The goal here was simply to take the Flickr API knowledge I’d gained earlier and apply it within a WordPress widget. In doing so, I learned a few things. The primary one being that I often harm myself by being fairly good at making stuff work rather than understanding what I’m doing. That’s what I did here. The Flickr API thing was pretty legitimate. I knew what I was doing there but I pretty much crammed it into a widget plugin template without really understanding the whole thing. That led to more confusion around print

Gravity Forms + FacetWP = Gravatar People

Having just finished presenting1 at NMC. I said we all need to document more, to show examples and explain what we did. Making the notes for the presentation last night and being able to use the blog posts I’d already written really showed me the value of reflecting on little things in an ongoing way. It’s amazing how much stuff I do that I completely forget even happened. So this is how you’d make a gravatar people browser based on information submitted via a Gravity Form.2 This image above shows the basic setup for the Gravity Form. Form fields essentially get combined with some HTML in the post body field. It’s pretty simple but it might help someone. This is the basic setup in FacetWP that generates the query and the display code. There are two elements. Element one is the query which tells which pieces of content you want. The second part is the display which shows the content that you’ve retrieved in whatever way you define. The text version for the FacetWP template is below. There’s also a dab of CSS. 1 Or at least talking in a room with humans in it. It was not of enough quality to justify the term presentation. I need to figure out why that felt so bad. 2 Could also do […]

Faster Faster NMC Notes

I’m doing Faster Nyan Cat!1 Build! Build! tomorrow at NMC so . . . I’d better get moving on linking all this madness into some sort of coherent story with examples. So take a deep breath and . . . go look at another webpage. This is going to be long. Consider it something between speaker notes, reference links, and that scene in A Beautiful Mind2 links everything together with string.3 Once Upon a Time There was a guy who didn’t know how to program but who had quite a few needs and even more odd dreams that he wanted to come true. He was from Alabama which made it perfectly acceptable to make things work with a combination of duct/duck tape and bailing wire (even high tech things). This is the story of how to do stuff like that. It isn’t best practice.4 It may not even be good practice.5 It is simply a way (that has worked) to get lots of work done quickly within the narrow confines of my skill set. Keep in mind, I did a presentation for NMC previously with Jim Groom entitled Nonprogramistan and with the URL /ihatecode.6 There’s also some SPLOT-ish connotations to some of this stuff- just making a one purpose tool that allows users to do one thing with no usernames/passwords […]

WordPress Comment Subscriptions by Category

flickr photo shared by duncan under a Creative Commons ( BY-NC ) license It’s particularly helpful in a rather specific situation- i.e. one where you’re doing a mother blog and want to see all the student comments (like Allen did with the #thoughtvectors reader) but since we have students using their blogs for more than one class things get messy fast. Enter me asking smarter people on Twitter, almost going to the forsaken land of Yahoo Pipes,1 and being saved by Google liking Mark more than me. So anyway, here’s the structure to get the comments for specific categories/tags. by name – http://bionicteaching.com/comments/feed/?category_name=apple by category ID – http://bionicteaching.com/comments/feed/?cat=18 by tag name – http://bionicteaching.com/comments/feed/?tag=tutorial-2 This is one of those things that barely rates a post but given I didn’t know how to do it maybe it’ll help some other wanderer and for people who want this it’ll be really useful. Thanks to Mark, Alan, and Martin for helping me out. 1 I like Yahoo Pipes but one has to assume Yahoo will kill it dead very soon . . . although I’ve been hearing that for several years.


It’s the little things . . . like hanging indents

Towards the end of the day I was asked for an easy way for students and others to do “properly-formatted (hanging indent) citations.” As I use URLs for citation I had never thought of this. A little googling and it seems to be a common issue for people and I eventually hit this old vintage1 video from Clint Lalonde (who I recognized immediately from his Twitter avatar). After seeing one jerk’s comment I felt a great need to make something even sort-of-good come from Clint’s effort to share something good with the world. Behold. The simplest possible WordPress shortcode plugin (SPWPSP – if you’re playing at home). And while it’s no SPLOT, it is very, very simple and it gives you the magical hanging indent. Just write [hangit]”None to Claim Their Bones: Relics of an Old Brooklyn Graveyard.” New York Times 8 Apr. 1888: 3-4. ProQuest Newspapers. Web. 10 June 2006.[/hangit] and you’ll get a nice hanging indent. I did have to change the shortcode to an enclosing shortcode (one that opens and close- like an HTML tag) to deal with quotes and apostrophes that are likely to show up in the citations. This is all it takes. Get it on Github here. 1 YouTube defines vintage as anything over a year old.

Improved Google Folder Shortcode Plugin

creative commons licensed ( BY ) flickr photo shared by Steve Snodgrass In December I wrote a tiny shortcode plugin that would let you embed Google Folders in WordPress. It was mainly to get around the iframe embed issues in WordPress Multisite. This interaction seems to make a number of faculty members pretty happy. So tonight when I got a comment asking how you’d get the plugin to display a grid view instead of the list view I decided to take another look at things. The short answer is that you could not do that with the old plugin. Now that I’m pretending to write code and stuff I thought I might be able to fix that and it turned out to be fairly simple. While I was in there I also added the ability to manually set height and width parameters. The new plugin is here. It doesn’t like it when I run both on the same blog (I assume because of the shared shortcode name) so this demo required that I turn off the older plugin. To make the changes I followed the Codex advice on handling attributes. This stuff still feels like magic to me. I realize how little actual skill and knowledge I posses in the scheme of things but it is amazing fun to be […]

More Dates in WordPress

creative commons licensed ( BY ) flickr photo shared by peacay As I continue to mess around with time/calendaring in WordPress I thought it’d be helpful to be able to allow users to add specific events1 to the calendar service of their choice. That led me to the addthisevent.com javascript. It allows the user to choose the calendar format of their choice from a variety of options plus it’s free for non-profits and schools. Initially, I just threw a script link in the footer of my Time child theme but that’s not really how you’re supposed to do things in WordPress Land and it meant that a pretty useful action would be restricted to that single theme. There are also some people in the AddThisEvent comments requesting WordPress plugins. Since I’m wandering around the borders of Programistan anyway, I figured I’d write a plugin. This may be beating a dead horse in terms of detail but I’m hoping it might help other people who aren’t programmers get things done. Version 1 The first version was as barebones as you can get. It does via plugin what I did previously via the theme – stick the addthisevent script in the footer. I referenced the WP wp_enqueue_script2 page in the codex to do this. You can see it commented up below. Version […]