una tema son plugin obligatorias las galerías functions funciones entrada cómo cuáles cuales crear con basicas php blogs wpmu

tema - Cómo llamar a las funciones de WordPress en script PHP personalizado



shortcode wordpress php (7)

A continuación está el código que estoy usando:

<?PHP require_once (''/path/to/wordpress/wp-load.php''); require_once (''/path/to/wordpress/wp-blog-header.php''); require_once (''/path/to/wordpress/wp-includes/registration.php''); do_action(''wpmuadminedit'', ''''); //Code to Connect and Select the external database //Code to Connect to the external DB and get the new order details: NewBlogName=$name and AdminEmail=$email if ( !email_exists($email) ) { // email does exist, create a new user $name = create_name_from_email($email); $password = "use a default password"; $user_id=wpmu_create_user($name, $password, $email); create_blog($email, $title, $user_id, $password); } else { // user exists, create new blog $user_id=email_exists($email); $password = "use existing wordpress password"; create_blog($email, $title, $user_id, $password); } function create_name_from_email ($email) { preg_match(''/[^@]+)@/'',$email,$matches); $name = $matches[1]; return $name; } //Creates a new blog, expects user to already exist. function create_blog($email, $title, $user_id, $password) { //Code to Update external DB that the order is in process $public = array("public" => 1); if (constant(''VHOST'') == ''yes'') { $newdomain = $domain . "." . $current_site->domain; $path = $base; } else { $newdomain = $current_site->domain; $path = $base . $domain . ''/''; } $domain = strtolower($domain); $newdomain = strtolower($newdomain); $path = strtolower($path); $meta = apply_filters(''signup_create_blog_meta'', array(''lang_id'' => 1, $public)); $meta = apply_filters("add_singup_meta", $meta); wpmu_create_blog($newdomain, $path, $title, $user_id , $meta, $current_site->id); do_action(''wpmu_activate_blog'', $blog_id, $user_id, $password, $title, $meta); // Update external DB with BlogUrl, NewBlogName, AdminPassword, OrderStatus=Complete. mysql_close($con); ?>

Tengo un script Php que quiero usar para crear un nuevo blog en WPMU. Tengo problemas para llamar a funciones de WordPress como wpmu_create_user y wpmu_create_blog .

Mi esperanza es hacer que este script se ejecute como un trabajo cron desde la línea de comando y recoger nuevas solicitudes de creación de blog desde un DB externo, crear un blog nuevo usando las funciones de WordPress y actualizar el DB con nueva información del blog.


Esto debería funcionar:

require_once($_SERVER[''DOCUMENT_ROOT''].''/wp-load.php'');

es decir, cuando la secuencia de comandos php está en el mismo servidor y WP está instalado en la raíz. Como la mayoría de los casos son


Para wordpress 3.1, tuve que especificar el host / dominio porque wp-includes / ms-settings.php: 100 lo necesita o se muere. Así que mi script se ve algo así como (tenga en cuenta que lo estoy usando para un sitio de red / multibuego):

#!/usr/bin/php -q <?php #for multi-blog only $blog_id = 1; #specify host or domain (needed for wp-includes/ms-settings.php:100) $_SERVER[ ''HTTP_HOST'' ] = ''localhost''; #location of wp-load.php so we have access to database and $wpdb object $wp_load_loc = "/path/to/wordpress/wp-load.php"; require_once($wp_load_loc); #for multi-blog only switch_to_blog($blog_id); #test to make sure we can access database echo $wpdb->prefix; ?>


Tengo una solución universal que funcionará en cualquier archivo php dentro wp-content carpeta wp-content sin ningún ajuste o necesidad de saber qué es misterioso ''path/to/wordpress''

require_once( explode( "wp-content" , __FILE__ )[0] . "wp-load.php" );

Simplemente sube automáticamente a la raíz de wordpress y carga wp-load.php

Puede pegarlo en cualquier lugar, sin importar si su plugin o archivo de tema funcionará.

Creo que cosas como ../../../.. ven muy mal y cuando modificas la estructura de tus carpetas de tema / complemento puedes volverte loco.

Nota : esta solución asume que no cambió el nombre de su carpeta wp-content .


incluya el archivo wp-load.php (en la raíz de su instalación de wordpress) en su archivo de script php como tal,

require_once("/path/to/wordpress/wp-load.php");

Tendrás que proporcionar el abspath del archivo wp-load, ahora puedes usar todas las funciones de wordpress en tu script php


wordpress usa una función phpass -

Esto funcionó para mí, ya que tenía una contraseña y el hash en una tabla (usuarios de wp migrados) y tenía que encontrar la forma de verificar los detalles de inicio de sesión.

Agarra esta descarga aquí - https://github.com/sunnysingh/phpass-starter

Todo lo que necesitas es esta función básica para verificar una contraseña de texto a un hash de WordPress:

<?php require_once( "PasswordHash.php" ); $hasher = new PasswordHash(8, false); // Check that the password is correct $check = $hasher->CheckPassword($password, $stored_hash); if ($check) { // password good } else { // password wrong } ?>

Todos los créditos a Sunny Singh!


require_once(''../../../wp-load.php'');

Creo que debes agregar esta línea antes de utilizar la función wordpress en tu archivo personalizado. y asegúrate de haber agregado ../ 3 veces según mi estructura de instalación de WordPress. Depende de tus controles de estructura manualmente. ex. si su archivo personalizado está dentro de sus temas / yourtheme / custom.php, entonces el código anterior funcionará perfectamente y si no, agregue ../ o elimine uno o más ../ según su ruta.