Quando devo usar $ wpdb-> prepare, se houver?

Tenho dificuldade em descobrir se devo usar$wpdb->prepare nas minhas consultas de banco de dados no WordPress para evitar coisas como injeção de SQL.

oCodex $ wpdb mostra alguns exemplos usando a função $ wpdb-> prepare e outros exemplos que não a utilizam.

Também emesta resposta no StackOverflow, alguém mencionou que uma função como$wpdb->insert tem o mesmo nível de segurança que o uso$wpdb->prepare. Mas e os outros$wpdb funções como$wpdb->get_var ou$wpdb->query?

Quando devo usar$wpdb->prepare, se houver?

Alguns dos meus (simplificados)$wpdb o uso de classe e função se parece com isso:

Exemplo 1: $wpdb->insert

$wpdb->insert(
                'special_posts', 
                    array( 
                        'title' => $title,
                        'selftext_html' => $selftext_html,
                        'selftext' => $selftext,
                    ), 

                    array(
                        '%s',
                        '%s',
                        '%s',
                    )
            );

Exemplo 2: $wpdb->get_results

$wpdb->get_results("SELECT * FROM special_posts WHERE selftext_html = '$value'");

Exemplo 3: $wpdb->get_var

$wpdb->get_var("SELECT title FROM special_posts ORDER BY id DESC LIMIT 1");

Exemplo 4: $wpdb->query

$wpdb->query('TRUNCATE TABLE special_posts');

questionAnswers(1)

yourAnswerToTheQuestion