Avatar billede Ravnsen Novice
21. august 2024 - 17:53 Der er 1 kommentar og
1 løsning

wp_delete_user virker ikke i Wordpress

Jeg forsøger at lave et php script, der kan tilføje og slette brugere fra en Wordpress hjemmeside. Jeg har fået den til at tilføje, men får fejl når jeg forsøger at slette med  wp_delete_user.

Jeg tester med dette script:

<?php
// Inkluder wp-blog-header.php i stedet for wp-load.php eller wp-config.php
$wordpress_path = $_SERVER['DOCUMENT_ROOT'] . '/wp-blog-header.php';

echo "<p style='color: blue;'>Starter scriptet...</p>";

// Debug: Tjek om wp-blog-header.php bliver fundet
if (file_exists($wordpress_path)) {
    echo "<p style='color: green;'>wp-blog-header.php fundet. Forsøger at inkludere WordPress-miljøet...</p>";
    require_once($wordpress_path);

    // Test om WordPress er initialiseret
    if (defined('ABSPATH')) {
        echo "<p style='color: green;'>WordPress er initialiseret korrekt.</p>";
    } else {
        echo "<p style='color: red;'>WordPress er ikke blevet initialiseret korrekt.</p>";
    }

    // Test om wp_delete_user virker
    if (function_exists('wp_delete_user')) {
        echo "<p style='color: green;'>wp_delete_user() er tilgængelig.</p>";
    } else {
        echo "<p style='color: red;'>wp_delete_user() er ikke tilgængelig.</p>";
    }
} else {
    echo "<p style='color: red;'>Kunne ikke finde wp-blog-header.php.</p>";
}

echo "<p style='color: blue;'>Script fortsætter efter WordPress-miljøet...</p>";

// Håndter sletning af en bruger
if (isset($_POST['delete_user_id'])) {
    echo "<p style='color: blue;'>Forsøger at slette bruger...</p>";

    $user_id_to_delete = intval($_POST['delete_user_id']);
   
    // Tjek om wp_delete_user-funktionen er tilgængelig
    if (function_exists('wp_delete_user')) {
        wp_delete_user($user_id_to_delete);
        echo "<p style='color: green;'>Bruger med ID $user_id_to_delete blev slettet.</p>";
    } else {
        echo "<p style='color: red;'>Kunne ikke slette brugeren. wp_delete_user-funktionen er ikke tilgængelig.</p>";
    }
}

echo "<p style='color: blue;'>Script er nået til slutningen.</p>";

og får denne visning:

Starter scriptet...
wp-blog-header.php fundet. Forsøger at inkludere WordPress-miljøet...
WordPress er initialiseret korrekt.
wp_delete_user() er ikke tilgængelig.
Script fortsætter efter WordPress-miljøet...
Script er nået til slutningen.

Nogle bud på hvorfor jeg ikke kan få wp_delete_user til at virke?

Jeg bruger one.com
Avatar billede erikjacobsen Ekspert
21. august 2024 - 18:34 #1
Det er jo så nok fordi du ikke har adgang til den. De siger

  If you wish to use this function in a plugin then you must include the ./wp-admin/includes/user.php

Så hvis du har opret til at virke så er det nok ikke den/de samme filer, der bliver inkluderet fra wp-miljøet.
Avatar billede Ravnsen Novice
21. august 2024 - 22:03 #2
Mange tak, nu virker den :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester