Support » Installing WordPress » Widget option missing in Appearance

  • Resolved triplemaya

    (@triplemaya)


    The Widget option is missing in Appearance. I found a post about this but the only solution presented is “The most likely reason for this section to not appear is that your theme does not support widgets. Is your theme relatively recent? Does it have any sort of sidebar already?” I am using 2022. And this is recent and it does have a sidebar.

    The page I need help with: [log in to see the link]

Viewing 6 replies - 1 through 6 (of 6 total)
  • Widgets don’t work with the new(ish) block system, so the reason you found for them not showing is a genuine one.

    The functionality of the widgets can mimmicked with blocks, but if you prefer the old system and you have a theme that doesn’t rely on blocks, Worpress team members released a plugin that may restore the wiget functionality for you.

    The plugin is called “Classic Widgets”: https://wordpress.org/plugins/classic-widgets/

    Thread Starter triplemaya

    (@triplemaya)

    Many thanks. The last thing I want is the old system. The new one is very good.

    I am trying to install a breadcrumb block. I searched for ‘breadcrumb block’ but every single result seems to require going to Appearance -> Widgets, so presumably not the kind of block I am looking for. I just want to add breadcrumb functionality to a 2022 installation.

    If you have access to your functions.php file, adding this snippet will give you a new shortcode [print_my_breadcrumb].

    Using this with the shortcode block will print a bradcrumb trail.

    function print_my_breadcrumb_shortcode() {
        // Get the global post variable
        global $post;
        // Get the home URL for the "Home" link in the breadcrumb
        $home = get_bloginfo('url');
        // Initialize the output variable with the "Home" link
        $output = '<a href="' . $home . '">Home</a>';
        // Check the current post type and add the appropriate links to the breadcrumb
        if (is_page() || is_single()) {
            // Add a link to the parent page
            $output .= ' / <a href="' . get_permalink($post->post_parent) . '">' . get_the_title($post->post_parent) . '</a>';
            // Add the current page title
            $output .= ' / ' . get_the_title();
        } elseif (is_category() || is_tax()) {
            // Add the current category or taxonomy title
            $output .= ' / ' . single_term_title('', false);
        } elseif (is_tag()) {
            // Add the current tag title
            $output .= ' / Tag: ' . single_tag_title('', false);
        } elseif (is_year()) {
            // Add the current year
            $output .= ' / ' . get_the_time('Y');
        } elseif (is_month()) {
            // Add the current month and year
            $output .= ' / ' . get_the_time('F Y');
        } elseif (is_day()) {
            // Add the current day, month, and year
            $output .= ' / ' . get_the_time('F j, Y');
        } elseif (is_author()) {
            // Add the current author name
            $output .= ' / Author: ' . get_the_author();
        } elseif (is_search()) {
            // Add the current search query
            $output .= ' / Search Results for: ' . get_search_query();
        } elseif (is_404()) {
            // Add a "404 - Page Not Found" message
            $output .= ' / 404 - Page Not Found';
        }
        // Return the breadcrumb trail
        return $output;
    }
    // Register the shortcode
    add_shortcode('print_my_breadcrumb', 'print_my_breadcrumb_shortcode');
    Thread Starter triplemaya

    (@triplemaya)

    Thanks for this. I am very anxious to stay in the block methodology. Are you telling me that there is no breadcrumb block? Because I went through all kinds of difficulties trying to add a social media block with all the big names in. And as with this issue loads of widgets and code solutions came up. But in the end I found a simple social media gutenberg block which did just what I wanted. And the payoff is that it is future proof. And I want a breadcrumb on every page, so I don’t really want to go editing every page.

    Are you telling me that there is no breadcrumb block?

    Sorry, I have no idea. Hopefully someone else can help. If I knew that I wouldn’t have make a custom function! Hopefully someone else can help. The solution offered uses plain PHP and core WordPress functions so doesn’t rely on anything that isn’t built in to WordPress.

    Thread Starter triplemaya

    (@triplemaya)

    Thanks for all the help. I hope your code will be a big help to someone.

    I solved my problem very simply because there is a breadcrumb block.

    “A simple breadcrumb trail block that supports JSON-LD structured data”

    Version 1.0.4 | By Phi Phan

    But in the end I found out how to make Yoast SEO breadcrumb work. Just put the shortcode in a header in FSE.

    Hope this helps someone.

    • This reply was modified 4 days, 1 hour ago by triplemaya.
Viewing 6 replies - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.