Skip to content

Instantly share code, notes, and snippets.

@webercoder
Created June 4, 2012 20:33
Show Gist options
  • Star 15 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save webercoder/2870698 to your computer and use it in GitHub Desktop.
Save webercoder/2870698 to your computer and use it in GitHub Desktop.
Auto-select authors for posts during WordPress import. They must already be assigned to the project. Enable jQuery in a plugin or functions.php, and paste this in the browser console.
(function($){
$('#authors li').each(function(key, value) {
var name = $(this).children('strong').first().html();
var re = /\s\([^\)]+\)/gi;
name = name.replace(re, '');
$(this).find('select').first().children('option').each(function(){
if ($(this).html() == name) {
console.log('Comparing ' + $(this).html() + ' to ' + name + ".\n");
$(this).attr('selected', 'selected');
}
});
});
})(jQuery);
@ashish8141
Copy link

That's great piece of code.

@Jack89ita
Copy link

You are the number one!

@thibaultseynaeve
Copy link

Magic 😱 Works great, thanks!

@iamkingsleyf
Copy link

Still existing

@kylerboudreau
Copy link

kylerboudreau commented Oct 28, 2020

Can anyone expound on this for me? I'm not sure how to make this code work on my site. I've tried saving as a js file and including in functions.php but it's not working for me. Thanks anyone! (WordPress 5.5.1. Attempting to import custom post type with multiple authors)

@ggedde
Copy link

ggedde commented May 31, 2021

Thanks for this, but it didn't work for me as the author list now includes the Author login.
So I modified it a bit and this worked for me:

jQuery('#authors li').each(function(key, value) {
      var name = jQuery(this).children('strong').first().html();
      jQuery(this).find('select').first().children('option').each(function(){
          if (jQuery(this).html() === name) {
              jQuery(this).attr('selected', 'selected');
          }
      });
  });

I didn't need to include jQuery as it is already included in WP-Admin. So all that is needed is to paste it into your console and hit enter.

@itsmereal
Copy link

Thanks for this, but it didn't work for me as the author list now includes the Author login. So I modified it a bit and this worked for me:

jQuery('#authors li').each(function(key, value) {
      var name = jQuery(this).children('strong').first().html();
      jQuery(this).find('select').first().children('option').each(function(){
          if (jQuery(this).html() === name) {
              jQuery(this).attr('selected', 'selected');
          }
      });
  });

I didn't need to include jQuery as it is already included in WP-Admin. So all that is needed is to paste it into your console and hit enter.

This is confirmed working as of Nov 2021 👌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment