Split titles by the ” – ” in WordPress

i’ve already solved it, i had to change the $title = get_the_title(); to $title = get_post()->post_title; in the end it looks like that: <?php $title = get_post()->post_title; // Get the title string $parts = explode(‘ – ‘, str_replace(‘–’, ‘-‘, $title)); // Replace em dash with en dash and split the title $artist = trim($parts[0]); // … Read more

Adding a variable to some PHP code with gettext

Use sprintf(): // Translators: %s: author’s current year. esc_html( sprintf( __(‘Rates %s in &euro;/ week:’,’mysite-plugin’), $current_year ) ); This is a common pattern that can be found in WordPress core. The Translators: comment is also essential to provide translators with context to translate the passage and understand what the placeholder %s will contain.

Upgraded php & wordpress but theme broke

<?php the_post_thumbnail(thumbnail); ?> should be <?php the_post_thumbnail( “thumbnail” ); ?>. thumbnail is not a defined constant, and the updated version of PHP is no longer converting undefined constants into strings for you. It appears that PHP changed the “undefined constants” message from a notice to a fatal error sometime around version 8.

Unable to remove action from parent theme via child theme

The child theme’s functions.php is loaded before the parent theme’s functions.php: Unlike templates and patterns, the functions.php file of a child theme does not override the functions.php file in the parent theme. In fact, they are both loaded, with the child being loaded immediately before the parent. Source: https://developer.wordpress.org/themes/advanced-topics/child-themes/#using-functions-php This means that when the child … Read more

“Cannot start session when headers already sent” when attempting session

It turns out not all hosts treat sessions alike. I ended up scraping altogether the “session” code in functions.php previously referred to which was doing nothing. Instead, I added session_start() at the top of every template adding or retrieving a value from a name/value hash in $_SESSION. So, <?php session_start(); $_SESSION[‘order_id’] = $order_id; . . … Read more

PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in Stack trace:\n#0 [internal function]: img_caption_shortcode()

You’re mis-using the caption shortcode here You can fix it by adding a width option, which is required per the official documentation In any case, this is also likely a bug in WordPress (misusing a shortcode shouldn’t result in a PHP Fatal Error). See the following bug report: https://core.trac.wordpress.org/ticket/59206

Trouble with WordPress Settings API: Form Submits When Fields Called Directly, Fails When Using Callbacks

Thank you for the responses Tom! You got me on track, I should have checked the rendered html earlier. Here’s the answer. The rendered html was showing hidden inputs, for clarity, I’ll just repeat my previous form with the hidden inputs that were being rendered: <form method=”post” action=”<?php echo admin_url(‘admin-post.php’); ?>”> <label>This form wont work</label> … Read more

Get variable from url

There were actually 2 issues. First, I had to use get_query_var. Secondly, for some reason Permalinks were set to a weird custom structure. It’s working now.

On profile update check if user is Subscribed to emails?

Roles in wordpress are case sensitive, I used the lowercase text for the same. Your function must return a value. add_filter(‘insert_user_meta’, function ($meta, $user, $update) { if (true !== $update) return $meta; //Check ’email_subscriber’ meta-key for the user $email_subscriber_meta = get_user_meta($user, ’email_subscriber’, true); // Check the user if it is subscribed by meta-value if checkbox … Read more

Translating the “Everything” filter menu in Quicksand jquery file

You should be able to pass the language across using wp_localize_script(). So you’re obviously enqueuing your own custom javascript file, lets say that file is called createlist.js. I assume you’re doing it like so: wp_enqueue_script( ‘createlist’, plugins_url( ‘createlist.js’, __DIR__ ), array( ‘jquery’ ), ‘1.0’, true ); (You’ll need to adjust the path for the JS … Read more