Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 981753
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T04:35:31+00:00 2026-05-16T04:35:31+00:00

The function below is supposed to fire when the theme it belongs to is

  • 0

The function below is supposed to fire when the theme it belongs to is activated. However, to get it to actually create the categories inside the conditional, I’m having to (1) activate the theme, (2) Activate any other theme (3) Activate the theme again

What gives, it should process upon the first time its activated.

// with activate make sure utility categories are created and parented correctly
if ( is_admin() && isset($_GET['activated'] ) && $pagenow == 'themes.php' ) {

    if (file_exists(ABSPATH.'/wp-admin/includes/taxonomy.php'))
    {
        require_once(ABSPATH.'/wp-admin/includes/taxonomy.php');    

        wp_create_category('nofollow');
        $myCategory1['cat_ID'] = get_cat_id('nofollow');
        $myCategory1['category_parent'] = 1;
        wp_update_category($myCategory1);

        wp_create_category('noindex');
        $myCategory2['cat_ID'] = get_cat_id('noindex');
        $myCategory2['category_parent'] = 1;
        wp_update_category($myCategory2);

    }
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T04:35:32+00:00Added an answer on May 16, 2026 at 4:35 am

    I answered this in your other question, then saw it here. Hopefully the same answer applies and works with your re-activation conundrum. Try using this hook instead of your $_GET request, and maybe you need to make this a plugin instead of putting it in your functions.php file to get it to run when the theme is activated. Previous answer follows:

    You’ll want to use an action hook. Specifically, ‘switch_theme’. This is the codex page for all action hooks, I can’t link to switch_theme specifically, but scroll down and you’ll find it. There is no specific information on this hook, but usage is simple. You can include your function in functions.php or in a plugin file, and after the function definition, include this hook:

    function add_my_categories($my-theme-name){
            //if $my-theme-name == 'my_theme_name
                //test if category exists
                //if exists, update
                //if doesn't exist, create and assign parent
        }
    add_action('switch_theme','add_my_categories');
    

    the ‘add_action()’ call will run the named function when the named hook is encountered in wordpress. The ‘switch_theme’ hook runs after a theme is changed.

    It’s important to know that this hook will provide the name of the new current theme to your function, which can accept it as an argument if you need it. For instance, to make sure the function only runs if your theme is the one activated. I suppose if this function is in your theme’s functions.php file, it will NEVER run unless your theme is activated, so you can determine if you need to double check the theme name.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

No related questions found

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.