Temporary tables created on disk: is huge
You "can't tune your way out of a performance problem".  So let's look for a villain and fix it.

Change long_query_time down to 1.  Wait a day.  Then run pt-query-digest.

More: http://mysql.rjweb.org/doc.php/mysql_analysis#slow_queries_and_slowlog

A query that is running often or long will show up in the slowlog; let's look at the first couple of them.

A likely candidate is postmeta:  http://mysql.rjweb.org/doc.php/index_cookbook_mysql#speeding_up_wp_postmeta

After edit

First query:

IN ( SELECT ... ) is notoriously inefficient.  Change to a JOIN .. ON.

And change the index(es) as indicated in the indexing link above.

Is LIMIT  29999 realistic?  Suggest lowering that significantly.

Second query:

INDEX(post_type, post_date)