WordPress add post with php

WordPress create post with PHP

Solution 2: For custom PHP script, just add the correct include «wp-load.php» instead of «post.php» wp_insert_post() — return ID of new post see more Question: All, I’m trying to have someone fill out some information on my website and then create a post in wordpress for this. Ex: in the form i fill title, date, etc in my 1st databse which is a simple php site, now i want is same post gets inserted in my wordpress databse. title as title and data as date.

WordPress create post with PHP

I want to make a custom PHP script, what can make a post for wordpress.

Here is my code from official page, but its not working:

require("wp-includes/post.php"); // Create post object $my_post = array( 'post_title' => "mytitle", 'post_content' => "mycontent", 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array( 1 ) ); wp_insert_post( $my_post ); 

The error is:

Fatal error: Call to undefined function get_current_user_id() in /home/MyUser/public_html/wp-includes/post.php on line 2897

The problem is probably that you are not logged in as a backend user. The script is trying to get a backend user id. There has to be a user logged in to create a post. Each post needs a userid, this is used to set the author of the post.

Читайте также:  Python enum get name by value

Also are you trying to execute this script inside a plugin or outside wordpress?

For custom PHP script, just add the correct include «wp-load.php» instead of «post.php»

wp_insert_post () — return ID of new post see more

require('wp-load.php'); //require("wp-includes/post.php"); // Create post $my_post = [ 'post_title' => "mytitle", 'post_content' => "mycontent", 'post_status' => 'publish', 'post_author' => 1, 'post_category' => [ 1 ] ]; wp_insert_post( $my_post ); 

Php — How do I display a custom archive page under a, I am working on my WordPress portfolio site and created a custom post type for my portfolio section. When a user clicks on my portfolio link it takes them to archive-portfolio.php which displays a gallery of all my projects and when they click on a project it takes them to single-portfolio.php displaying the associated project.

Create a Post from External Website for WordPress

All, I’m trying to have someone fill out some information on my website and then create a Post in WordPress for this. I didn’t want to have them use the WordPress admin panel since it could be confusing.

Within WordPress I’ve updated my functions.php to create some postmeta data. I was using add_post_meta/update_post_meta etc. but now I want to create the actual post with some of the postmeta data.

Does WordPress offer the same types of things to create a post from my website instead of in the admin panel or do I have to insert this directly into the database and create my postmeta data the same way?

I tried to use your example at the GitHub and created the following page:

require('xmlrpc.inc'); require('wp-content/themes/parallelus-mingle/new-post.php'); $globalerr = null; $xmlrpcurl = 'http://localhost/vendor_wordpress/xmlrpc.php'; $username = 'admin'; $password = 'password'; $title = 'This is a test'; $content = 'This is some content'; $post = wordpress_new_post($xmlrpcurl, $username, $password, $blogid = 0, $slug = "", $wp_password="", $author_id = "0", $title, $content, $excerpt, $text_more, $keywords, $allowcomments = "0", $allowpings = "0", $pingurls, $categories, $date_created = '', $customfields = '', $publish = "1", $proxyipports = ""); if($post == false) < echo $globalerr."\n"; die(); >else

I had to change the require from the xmlrpc.inc to xmlrpc.php but when I do this I get the following error:

WordPress supports XML-RPC. Use it with php.

Also Some fellow already written a PHP library for this.

Update 1

Your first 2 require call is wrong.

  1. Download PHPXMLRPC and put the xmlrpc.php in the current directory then include it. Not the xmlrpc.php from wordpress directory.
  2. Download WordPress-XML-RPC-Library library and include it.

You can also try The Incutio XML-RPC Library for PHP.

WordPress create post with PHP, WordPress create post with PHP. Ask Question Asked 6 years, 2 months ago. Modified 1 year, 6 months ago. Viewed 1k times 0 I want to make a custom PHP script, what can make a post for wordpress. Here is my code from official page, but its not working: require(«wp-includes/post

Posting in wordpress database as a new post

I have two php websites, I have a form in one custom page which simply inserts data in one database . all I want is to insert this same data in my second site which is wordpress..to be inserted as a new post.

Ex: in the form i fill title, date, etc in my 1st databse which is a simple php site, now i want is same post gets inserted in my wordpress databse. title as title and data as date.

Don’t want to use XML etc..as i have both database under same hosting so i have access to both database with single php form. all i want to know is dependent tables for wordpress entry but with an example 🙂

You can use WordPress ‘s functionality outside of WordPress , just create a subfolder in your site’s root directory, i.e. http://yoursite.com/blog and upload WordPress in your blog sub-folder. For more read this on Codex.

Then, in order to transform regular PHP pages into ones that utilize WordPress, you need to add either of the following code snippets to the start of each page.

Now look at the wp_insert_post function on Codex to know that how you can Insert Post into WordPress pragmatically, Also another simplified article if it helps. Now, you know how to use WordPress ‘s functions/functionality out side of wordpress and also you know how you can use wp_insert_post , now just setup a PHP page with a form and submit the form using POST methos and the prepare the data for the post to be inserted into the WordPress database (validate inputs) and finally insert using wp_insert_post function. Please read this on codex for more information.

You need to create a PHP script on the WordPress site that accepts a $_POST from the non-Wordpress site’s form.

/_static/receiver.php (I always put scripts like this in a folder named _static in the WP root folder):

 $data['post_title'], 'post_content' => $data['post_content'], ); if ( $data && $data['key'] == '1234567890' ) // To Prevent Spam, bogus POSTs, etc. $post_id = wp_insert_post( $post, true ); // Insert Post ?> 

Php — WordPress Post order, This code should work, if there’s another reason that you’re using get_posts over query_posts your problem is likely to be your argument list — from …

How to make a post to wordpress using the api?

How can I remotely make a post to a user’s blog after **** gives me his login info using the wordpress api? What method do i need to use, what paremeters should it have, etc? Sample code will be great.

I’d prefer to use the XML-RPC api but others will also be acceptable.

yeah you can use metaWeblog.newPost or blogger.newPost , an example of the first:

uses curl and xmlrpc_encode_request

yeah and @Francis is correct

I personally use the JSON API plugin. Create a post using:

http://www.example.com/api/create_post/?nonce=123456789&title=My%20Post&status=publish 

Php — Get images from wordpress post (post content), I need to get the first image of the post in wordpress. I have various posts. So for new posts, I can set the featured image. However there are thousands of old posts. Detecting request type in PHP (GET, POST, PUT or DELETE) 2904. Deleting an element from an array in PHP. 1909.

Источник

Добавление поста в wordpress средствами php

Эта статья будет полезна тем, кто захочет написать собственный парсер с автопостингом для WordPress. В данном материале будет рассмотрен механизм создания и публикации поста средствами php. Скрипт создаётся с целью постинга без захода в админку и без ручной работы по заполнению полей публикуемого поста поста.

Создаём в корне сайта файл upload-post.php, при обращении к нему через браузер будет добавляться пост. Убедитесь, что он сохранён в кодировке utf-8, иначе скрипт будет работать некорректно.

Добавление основных полей поста вордпресса средствами php

Подключаем файл инициализации движка WordPress wp-load.php, используем функцию вордпресса wp_insert_post() для добавления поста. Вот что у меня получилось на начальном этапе:

 'Новый тестовый пост', 'post_content' => 'Контент тестового поста', 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array(1) ); // Вставляем запись в базу данных $post_id = wp_insert_post($post_data, true); print_r($post_id); // Выведет id-ник поста, либо объект с массивом ошибок 

Мой массив $post_data имеет минимальный набор значений. Для того, чтобы узнать о всех возможных параметрах, смотрите документацию по функции wp_insert_post().

Откройте браузер и зайдите по адресу «http://ваш_домен/upload-post.php». Если скрипт отработал успешно — появиться цифра. Перейдите на главную страницу блога — новая запись должна появиться.

Добавление дополнительных полей в запись wordpress средствами php

Если у Вас навороченный сайт на wordpress, вряд ли Вам хватает основных полей записи блога. В ход идут Custom Fields — произвольные поля. Давайте разберёмся, как их добавлять средствами php. Предположим, что все дополнительные поля уже настроены через админку wodpress, и нам просто нужно вставить значения для этих полей в добавляемом посту.

Для этой цели мы используем метод update_post_meta(). Добавляем к существующему коду функцию, изменяющую значение произвольного поля в добавленном посте:

 'Новый тестовый пост с дополнительным полем', 'post_content' => 'Контент тестового поста с дополнительным полем', 'post_status' => 'publish', 'post_author' => 1, 'post_category' => [1] ); // Вставляем запись в базу данных $post_id = wp_insert_post($post_data, true); // Задаём значение для дополнительного поля: // В одном из моих блогов есть дополнительное поле rating (числовое). // Его мы и зададим. Для примера, выставим значение 80 update_post_meta($post_id , 'rating', 80); // Второе поле - строковое - postscriptum update_post_meta($post_id , 'postscriptum', 'Спасибо за внимание. Подписывайтесь на мой блог'); 

Добавление картинки в WordPress средствами php

Допустим нам нужно залить и прикрепить обложку к записи wordpress. Для этого нам нужно: 1) Скачать картинку по ссылке и сохранить её в папку uploads. 2) Добавить загруженный файл в медиатеку WordPress. 3) Назначить сохранённый в медиатеку элемент в качестве обложки поста. Для этого нам понадобятся функции download_url() и media_handle_sideload(). Добавляем в auto-poster.php следующий код:

// . добавляем в уже созданный upload-post.php код: // Для примера возьмём картинку с моего же блога, которая была залита вне структуры wordpress $url = 'http://sergeivl.ru/public/img/svlJForm.png'; // Прикрепим к ранее сохранённому посту //$post_id = 3061; $description = "Картинка для обложки"; // Установим данные файла $file_array = array(); $tmp = download_url($url); // Получаем имя файла preg_match('/[^\?]+\.(jpg|jpe|jpeg|gif|png)/i', $url, $matches ); $file_array['name'] = basename($matches[0]); $file_array['tmp_name'] = $tmp; // загружаем файл $media_id = media_handle_sideload( $file_array, $post_id, $description); // Проверяем на наличие ошибок if( is_wp_error($media_id) ) < @unlink($file_array['tmp_name']); echo $media_id->get_error_messages(); > // Удаляем временный файл @unlink( $file_array['tmp_name'] ); // Файл сохранён и добавлен в медиатеку WP. Теперь назначаем его в качестве облож set_post_thumbnail($post_id, $media_id);

Запускам, проверяем, радуемся. Принцип я показал. А дальше можете оформлять в виде плагина, писать парсеры с автоматическим добавлением записей в wordpress. Исходник скрипта в моём репозитории на GitHub.

Источник

Оцените статью