hstanleycrow/easyphptowordpress

免费PHP库,用于从PHP向WordPress发布

dev-main 2023-05-02 23:51 UTC

This package is auto-updated.

Last update: 2024-10-03 02:48:26 UTC


README


Easy PHP To Wordpress

免费PHP库,用于从PHP向WordPress发布

关键特性使用方法下载致谢许可证

关键特性

  • 获取分类 - 获取WordPress站点的分类列表
  • 获取标签 - 获取WordPress站点的标签列表
  • 发布HTML内容,包括
    • 特色图片
    • 分类
    • 状态:发布、草稿、待审等
    • 所有图片都上传到WordPress,并使用WordPress URL替换图片URL
    • 您可以在内容中包含YouTube视频
    • 您可以在内容中包含推文
  • WordPress URL验证器
  • WordPress凭据(用户和应用程序密码)验证器
  • 轻松处理错误

使用方法

# Clone this repository
$ git clone https://github.com/hstanleycrow/EasyPHPToWordpress/

# install libraries
$ composer update

# or install using composer

$ composer require hstanleycrow/easyphptowordpress
# define credentials
# You need a Wordpress application password https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/
#This examples are using [DotEnv](https://github.com/vlucas/phpdotenv) to configure the credentials, but you can setup it as you want.
$wpSiteURL = $_ENV["WP_SITE_URL"];
$wpUsername = $_ENV["WP_USERNAME"];
$wpApplicationPassword = $_ENV["WP_APPLICATION_PASSWORD"];

# configure in your PHP script the timezone to the Wordpress timezone. This is important.
date_default_timezone_set("America/El_Salvador");

# create an object 
$obj = new WordpressAPI($wpSiteURL, $wpUsername, $wpApplicationPassword);

示例

#Example to validate the URL

if ($obj->validateURL()) :
    echo "URL resolve 200";
else :
    echo $obj->errorMessage();
endif;

#Example how to get Wordpress Categories list

echo "<pre>";
if ($categories = $obj->categories()) :
    print_r($categories);
else :
    echo $obj->errorMessage();
endif;
echo "</pre>";

#Example how to get Wordpress Tags list

echo "<pre>";
if ($tags = $obj->tags()) :
    print_r($tags);
else :
    echo $obj->errorMessage();
endif;
echo "</pre>";

#Example how to validate credentials

echo "<pre>";
if ($obj->validateCredentials()) :
    echo "Valid Credentials" . PHP_EOL;
else :
    echo "Credentials not valid" . PHP_EOL;
    echo $obj->errorMessage() . PHP_EOL;
endif;
echo "</pre>";

#Example to publish into WP
$content = <<<HTML
<p><b> Hey</b> this is some text for the blog post</p>
<h2><a id="user-content-documentation" class="anchor" href="#user-content-documentation" rel="nofollow noindex noopener external ugc"></a>Documentation</h2>
<p>The documentation for this library is hosted at <a href="https://simplehtmldom.sourceforge.io/docs/" rel="nofollow noindex noopener external ugc">https://simplehtmldom.sourceforge.io/docs/</a></p>
<p><img src="https://eluniverso.space/wp-content/uploads/1143px-The_Sagittarius_dwarf_galaxy_in_Gaias_all-sky_view_ESA399651.jpg" alt="Sagitarius dwarf galaxy" title="Sagitarius" >
<h2>Youtube Video</h2>
<p>https://www.youtube.com/watch?v=K4TOrB7at0Y</p>
<h2>Tweet Thread</h2>
<p>https://twitter.com/elonmusk/status/1645266104351178752?s=20</p>
<p><img src="//eluniverso.space/wp-content/uploads/Positional-Schematic-of-the-Members-of-the-HR-8799-Exoplanet-System-777x777-1.jpg" alt="HR 8799 planet orbits" title="HR 8799 planet orbits">
<br><br>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII="></p>
<p><img src="https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/DroidSans-Bold.svg" alt="SVG Image">
HTML;
$featureImagePath = "https://eluniverso.space/wp-content/uploads/Three-merging-galaxies-1-1024x511.jpg";
$categories = [58];
echo "<pre>";
if ($url = $obj->publishPost(
    "Title of the post",
    $content,
    $categories,
    $featureImagePath
)) :
    echo $url . PHP_EOL;
    if ($obj->hasImagesErrors()) :
        print_r($obj->imagesError());
    endif;
else :
    #echo "Credentials not valid" . PHP_EOL;
    echo $obj->errorMessage() . PHP_EOL;
endif;
echo "</pre>";

限制

  • 目前,您无法为帖子添加标签,但将在未来的版本中考虑。

下载

您可以从这里下载最新版本。

PHP版本

我仅在以下PHP版本中测试了此类。因此,如果您有旧版本且无法工作,请告知我。

致谢

此软件使用了以下开源软件包

支持

Buy Me A Coffee

许可证

MIT

www.hablemosdeseo.net  ·  GitHub @hstanleycrow  ·  Twitter @harold_crow