使用wp_update_post防止短代码执行

时间:2018-03-12 14:56:28

标签: php wordpress

我使用以下代码以编程方式更新帖子,内容和摘录仅包含HTML注释和短代码。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

rows = 75
df = pd.DataFrame(np.random.randint(-4,5,size=(rows, 3)), columns=['A', 'B', 'C'])
datelist = pd.date_range(pd.datetime(2017, 1, 1).strftime('%Y-%m-%d'), periods=rows).tolist()
df['dates'] = datelist 
df = df.set_index(['dates'])
df.index = pd.to_datetime(df.index)
df = df.cumsum()

ax = df.plot()

for line, name in zip(ax.lines, df.columns):
    y = line.get_ydata()[-1]
    ax.annotate(name, xy=(1,y), xytext=(6,0), color=line.get_color(), 
                xycoords = ax.get_yaxis_transform(), textcoords="offset points",
                size=14, va="center")

plt.show()

问题是,当我运行脚本时,我从与短代码绑定的函数中收到错误,这意味着短代码似乎在由wp_update_post更新时执行。它不会停止更新,并且短代码不会执行任何逻辑,但我宁愿在运行时没有任何错误。

在我进行更新时,如果没有禁用这些功能,那么无论如何都要标记wp_update_post以仅将内容视为纯文本并且不运行它?

可能的解决方案

从评论中添加:

//Add in Short Codes
$content_short_code = '<!-- Start --> [MY_GREAT_CONTENT] <!-- End -->';
$excerpt_short_code ='<!-- Start --> [MY_GREAT_EXCERPT] <!-- End -->';


$my_post = array(
      'ID'           => $post_id,
      'post_content' => $content_short_code,
      'post_excerpt' => $excerpt_short_code
  );
wp_update_post( $my_post );

在执行更新之前。

0 个答案:

没有答案