2014-06-17 1 views
1

У меня есть PHP-код, который создает html-файл, вставляет некоторые данные и загружает их в папку. Как я могу добавить свой собственный php-код внутри post-new.php, поэтому, когда публикация опубликовано, чтобы сделать это ...Добавление пользовательского PHP-кода при создании нового сообщения в Wordpress post-new.php

Также мне нужно получить путь к будущему пути к будущему, почтовый URL и заголовок сообщения.

Спасибо всем!

Мой код:

$my_file = 'myindex.html'; 
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file); //implicitly creates file 

$stringData = "<!doctype html>\n"; 
fwrite($handle, $stringData); 
$stringData = "<html>\n"; 
fwrite($handle, $stringData); 
$stringData = "<head>\n"; 
fwrite($handle, $stringData); 
$stringData = "<meta charset='utf-8'>\n"; 
fwrite($handle, $stringData); 
$stringData = "<title>MyYiyle</title>\n"; 
fwrite($handle, $stringData); 
$stringData = "<meta property='og:type' content='Article' />\n"; 
fwrite($handle, $stringData); 
$stringData = "<meta property='og:image' content='' />\n"; 
fwrite($handle, $stringData); 
$stringData = "<meta property='og:image:width' content='640' />\n"; 
fwrite($handle, $stringData); 
$stringData = "<meta property='og:image:height' content='360' />\n"; 
fwrite($handle, $stringData); 
$stringData = "<meta name='image' content='' /> \n"; 
fwrite($handle, $stringData); 
$stringData = "</head>\n"; 
fwrite($handle, $stringData); 
$stringData = "<body>\n"; 
fwrite($handle, $stringData); 
$stringData = "</body>\n"; 
fwrite($handle, $stringData); 
$stringData = "</html>\n"; 
fwrite($handle, $stringData); 

if (fclose($handle)){ 


// FTP access parameters 
$host = 'xxx'; 
$usr = 'xxx'; 
$pwd = 'xxx'; 

// file to move: 
$local_file = './' . $my_file; 
$ftp_path = '/newposts/' . $my_file; 

// connect to FTP server (port 21) 
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host"); 

// send access parameters 
ftp_login($conn_id, $usr, $pwd) or die("Cannot login"); 

// turn on passive mode transfers (some servers need this) 
//ftp_pasv ($conn_id, true); 

// perform file upload 
$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII); 

// check upload status: 
print (!$upload) ? 'Cannot upload' : 'Upload complete'; 
print "\n"; 

/* 
** Chmod the file (just as example) 
*/ 

// If you are using PHP4 then you need to use this code: 
// (because the "ftp_chmod" command is just available in PHP5+) 

/* 
if (!function_exists('ftp_chmod')) { 
    function ftp_chmod($ftp_stream, $mode, $filename){ 
     return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename)); 
    } 
} 
*/ 

// try to chmod the new file to 666 (writeable) 
/* 
if (ftp_chmod($conn_id, 777, $ftp_path) !== false) { 
    print $ftp_path . " chmoded successfully to 666\n"; 
} else { 
    print "could not chmod $file\n"; 
} 
*/ 
// close the FTP stream 
ftp_close($conn_id); 


} 
+0

@JayBhatt спасибо за ответ .. полезную статью .. один вопрос ... где должен Я положил свой код? –

+1

Создайте функцию и поместите свой код внутри этой функции и сохраните эту функцию внутри файла function.php, а затем зарегистрируйте свою функцию с помощью крючка, как описано в статье. –

ответ

3

ЗАКАНЧИВАТЬ Действие крючки Wordpress, и включить их в вашей теме:

http://codex.wordpress.org/Plugin_API/Action_Reference

'publish_page', 'publish_post' или что-то подобное, вероятно, что тебе нужно.

«save_post» происходит, когда добавляется запись, и включает в себя почтовый объект (URL/бруски, название и т.д.)

Смежные вопросы

 Смежные вопросы