Embedding video in WordPress sites

The short answer: don’t use plugins for embedding YouTube/Vimeo/etc. videos

In a page or post:

Either paste its URL on its own line or use the embed shortcode. From the codex:

For example:

WordPress will automatically turn the URL into a YouTube embed and provide a live preview in the visual editor.

Another option is to wrap the URL in the embed shortcode:

If WordPress fails to embed the URL, the post will contain a hyperlink to the URL.

In a text widget (e.g., for display in a sidebar) use the video shortcode

But since the text widget doesn’t support shortcodes by default, add, in functions.php, the following code from Stack Overflow:

Then use the video shortcode:

Finding a Mac’s network name

It’ll be in a form like XXX-XXXXXXX-XXX


About this Mac -> System Report ->Network -> Locations -> SMB: NetBIOSName

Then copy the name.


In terminal:

defaults read /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName

Then copy the name.


In terminal:

defaults read /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName | pbcopy

It’ll already be copied on your clipboard.


System Preferences -> Sharing. Paste the name where the model of the Mac is now.

From WPEngine: alternatives to the Broken Link Checker plugin

From WPEngine’s disallowed plugins page:

Broken Link Checker — Overwhelms even our robust caching layer with an inordinate amount of HTTP requests.

Broken Link Checker Alternatives

If you used the Broken Link Checker plugin and wish we hadn’t banned it, we recommend that you use one of the following tools to check your site for broken links:

It’s not a plugin, and won’t make the server unhappy: http://www.brokenlinkcheck.com/. An even better solution to using a website to scan for broken links would be an application that you install on your computer:

mmm, all better now!

Build a responsive website rather than a native app: excellent chart

See the TAMU Mobile Strategy Team’s chart at the bottom of the page.

There’s mostly only two reasons to consider a mobile app (unless you’re a huge company): needing your content available offline, and needing the devices’s camera/accelerometer.

To make icons for your mobile web app’s screen, use the Real Favicon Generator (from CSS Tricks).

Genesis breadcrumbs on subpages only

After checking “Pages” in Genesis -> Theme Settings -> Breadcrumbs. Will have the effect of only showing breadcrumbs on subpages, not top-level pages:

MAMP Pro strangenesses

MAMP Pro iconAll the cool kids are using Vagrant. Or maybe a LAMP stack on Virtualbox. Or something other than MAMP.

But my one machine still on MAMP wouldn’t load Apache today. The error in the log was:

EAI 8)nodename nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "<my-machine-name>"

Some googling led to two possible fixes.

The first was commenting out a line in httpd.conf. Didn’t work.

The second was just adding another line in the /etc/hosts file. For the machine above, just (I guess the name of my machine had been changed by the network administrators?): <my-machine-name>

For Macs, run

sudo killall -HUP mDNSResponder

after changes to the hosts file to refresh.

Gravity Forms and Tab Index

When you have a Gravity Form on the same page as a comment area, TABBING BREAKS

From Gravity Wiz, include this with every site that uses Gravity Forms and a Comment box on the same page (or any post/page with two or more forms):

WordPress registration through Gravity Forms

Place the following in your functions.php file to allow a site visitor to be registered by filling out a Gravity Form. This example not only registers them but automatically logs them into the site with their newly-generated credentials:

add_action('gform_after_submission', 'post_to_third_party', 10, 2);
function post_to_third_party($entry, $form) {
    if ($form['title'] != 'Registration') { return false; }
    $user_name = $entry[1];
    $user_email = $entry[2];
    $user_id = username_exists( $user_name );

    if ( !$user_id and email_exists($user_email) == false ) {
        $random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
        $user_id = wp_create_user( $user_name, $random_password, $user_email );
    } else {
        $random_password = __('User already exists. Password inherited.');

    /** SEND A REGISTRATION EMAIL for subsequent logins */
    $to = $user_email;
    $subject = 'Virtual Open House :: New Signup';
    $message .= "";
    $message .= sprintf("Thanks for signing up.\n");
    $message .= sprintf("Your username is:\n");
    $message .= sprintf("\n%s\n\n",$user_name);
    $message .= sprintf("Your password is:\n");
    $message .= sprintf("\n%s\n\n",$random_password);
    $message .= sprintf("To login, please browse to: %s\n",get_bloginfo('url'));
    $message .= sprintf("Thank you\n");
    wp_mail( $to, $subject, $message);

    /** keep user logged in **/
    $creds = array();
    $creds['user_login'] = $user_name;
    $creds['user_password'] = $random_password;
    $creds['remember'] = true;
    $user = wp_signon( $creds, false );

  if ( is_wp_error($user) ) echo $user->get_error_message();