Узел wp-api create () не работает после последнего обновления - PullRequest
0 голосов
/ 29 апреля 2018

Недавно wpapi обновлен, и нет возможности отправлять сообщения или изображения через post api, но, возможно, некоторые ошибки в коде. Вот наполовину работоспособный код для загрузки изображений и публикации данных в WordPress.

#!/usr/bin/env node
var moveFrom = __dirname+"/gallery/galleryfolder/year/";
var fs = require( 'fs' );
var path = require( 'path' );
// In newer Node.js versions where process is already global this isn't necessary.
var process = require( "process" );
// Loop through all the files in the temp directory
fs.readdir( moveFrom, function( err, files ) {

var moveFrom = __dirname+"/gallery/galleryfolder/year/";//setting up directory for file upload
        if( err ) {
            console.error( "Could not list the directory.", err );
            process.exit( 1 );
        }

        files.forEach( function( file, index ) {
                // Make one pass and make the file complete
                var fromPath = path.join( moveFrom, file );
              //  var toPath = path.join( moveTo, file );
//starting getting filenames
                fs.stat( fromPath, function( error, stat ) {
                    if( error ) {
                        console.error( "Error stating file.", error );
                        return;
                    }

                    if( stat.isFile() ){


                      console.log( "'%s' is a file.",moveFrom+file );
                      var fullpath=moveFrom+file;
                      var filename=file.replace('.jpg', '');//specifying the fullpath to the images on node server or in file system.
                      var WPAPI = require("wpapi");
                      var wp= new WPAPI({
                        endpoint: 'http://localhost/wordpress/wp-json/',
                        username: 'admibn',
                        password: '1234567890'

                      });
                    //  let category=moveFrom.match('/[^/]*$/');
                      wp.posts().create({
                        title: filename,
                        content: '',
                        if ( err ) {
                             // handle err
                         }
                      }).then(function( post ) {
                        // Create the media record & upload your image file
                        var filePath = fullpath;
                        return wp.media().file( filePath ).create({
                          title: filename,
                          post: post.id
                        }).then(function( media ) {

                          // Set the new media record as the post's featured media
                          return wp.posts().id( post.id ).update({
                            featured_media: media.id
                          });

                        });
                      });
}








                } );
        } );
} );

Код загружает изображения и публикует текст на сайт WordPress. Первая часть кода (библиотека node fs) работает нормально, а вторая я даже не могу отладить или вывести ошибки на консоль. Я немного новичок в node.js. Пожалуйста посоветуй.

1 Ответ

0 голосов
/ 29 апреля 2018

решаемая. Спасибо за внимание. В последнее время WPapi требует установки 2 плагинов: Базовая аутентификация JSON и http://v2.wp -api.org / плагин wpapi. Я отредактировал код, если кто-то еще будет искать решение для пакетной загрузки wp с ПК (тексты и изображения). Также плагин почтового переключателя экономит время, необходимое для пользовательского почтового шлюза.

...