-1

我想将 Joomla 网站文章转换为我的 Wordpress 模板。那么,这怎么可能呢?因为在文章迁移之前我从未体验过......提前致谢。

4

1 回答 1

0

您将需要从数据库和文件系统中复制信息。

将完整的 /images 文件夹复制到 wordpress 或至少将包含文章图像的子文件夹复制到相同位置可能会更容易,以使移植更容易。

约定:Joomla 表以随机字符串开头,管理员在安装时选择该字符串。它在 Joomla 代码中用“# ”表示,所以如果我的前缀是“jos”,我会将“#_content”翻译成“jos_content”。找出您的前缀是什么并根据需要进行替换。

主要内容

Joomla 将文章存储在表#__content 中。

对于文本,您要获取以下列:

title, alias, introtext, fulltext, metakey, metadesc

只需连接 introtext 和 fulltext 即可获得全文。

确保没有“内部”链接,如果一篇文章的文本有指向另一篇文章的链接,您可能需要手动修复它(或参见最后一节,移动 url)。

图片

如果您复制了images/文件夹,嵌入在您的内容中的图像 url 应该没问题。

现在到了困难的部分。Joomla 2.5+ 允许您指定将在不同视图中显示的额外图像;这些可以在 Joomla 的后端访问 - 编辑文章页面。

这些以多种格式保存到 json 中的表字段“图像”中。请注意,它们很少使用,因此您可能需要快速浏览一下 params 的内容,因为您可以跳过这一步:这是您在未指定图像时看到的内容:

{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}

如果它们正在使用中,那么您就不走运了。您需要编写脚本将 json 解码为 php 对象(json_decode)。

更多信息

现在对于一些您可能不想错过的元信息:

  • 状态:0 = 未发布,1 = 已发布,-2 = 已丢弃
  • catid:相关#_categories 表的id(分层)
  • created:文章的创建日期
  • created_by:#_users 中指定的作者 ID;您可能还想检查包含作者属性的参数(又一个 json 编码对象),作者可以在其中编写任意文本以用作其签名。
  • publish_up:文章发表的日期
  • publish_down:虽然文章可能会被发布,除非这个为0或者设置在未来不会显示。
  • urls:一个 json 编码的 url 列表
  • 语言:文章的默认语言

移动网址

Joomla SEF 模块目前正在使用一个 URL 发布您的文章,该 URL 很可能与 WordPress 将使用的不同。您可以尝试创建这样的菜单结构,使 url 看起来相同,或者在 .htaccess 文件中使用以下简单规则处理它们:

RewriteEngine On
#Joomla url (SEF or non-sef whichever you see in your Joomla site and / or is indexed in google)
RewriteCond %{QUERY_STRING} ^option=com_content&view=article&id=168&Itemid=67&lang=it$
#wordpress url
RewriteRule ^.*$ /some/path/title? [R=301,NC,L]

请查一下,它在stackoverflow的其他地方有很好的记录,有点超出了这个答案的范围。

于 2013-09-08T07:54:27.497 回答