如何在WordPress的post-new.php中添加自定义命令

时间:2014-06-17 作者:George L.

我是新来的。我有一个php代码,可以创建html文件并将其上载到文件夹中。如何在post new中添加自定义php代码。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);


}

1 个回复
SO网友:funwhilelost

您可以在转换post状态的操作中运行此代码。发布帖子时,您可以运行此代码生成HTML并将其上载到FTP服务器。

function post_published( $new_status, $old_status, $post ) {
    if ( $new_status == \'publish\' ) {
        // Build your file and upload it
    }
}
add_action( \'transition_post_status\', \'post_published\', 10, 3 );

结束