permalink as content

时间:2018-03-16 作者:RaymondM

我有一个简短的问题。

现在,永久链接url由您输入的标题文本自动设置。

所以当你的标题是“我爱玛丽”时,页面url将是www.example。com/i-love-marry

我对编码还不熟悉,但我认为wordpress代码中的某个地方有一个类似于[permalink][title][permalink]的命令

是否可以通过内容而不是标题设置永久链接?

或者,是否有可能以某种方式修改自定义永久链接,而不是/%postname%/我可以设置/%postcontent%/

我希望你明白我的意思。

我到处都找遍了,没有找到答案。

非常感谢您的帮助。

谢谢

1 个回复
SO网友:Florian

尝试将其放入函数中。主题的php。在这种形式下它没有经过测试,但应该可以工作。

/**
 * Change the Permalink on save / update
 */
function wpse_297006_rewrite_slug( $post_id, $post, $update ){
  // check if it\'s a post
  if (!(get_post_type( $post_id ) === \'post\')) return;
  // check if it\'s not a revision
  if (!(wp_is_post_revision( $post_id ) === false)) return;

  // check if it\'s not a revision
  $content = get_post_field(\'post_content\', $post_id);
  // set the args
  $args = [
    \'ID\' => $post_id,
    \'post_name\' => strtolower( sanitize_title( $content ) ),
  ];

  // unhook this method to prevent infinite loop
  remove_action(\'wp_insert_post\', \'wpse_297006_rewrite_slug\');
  // apply $args when post is saved
  wp_update_post( $args );
  // re-hook this method
  add_action(\'wp_insert_post\', \'wpse_297006_rewrite_slug\', 10, 3);
};

add_action(\'wp_insert_post\', \'wpse_297006_rewrite_slug\', 10, 3);

结束

相关推荐

How to replace permalinks

我已将wordpress项目导出并导入live server。现在的问题是,我将permalink结构作为“localhost”格式。当我单击网站中的任何链接时,它会将我重定向到localhost。我怎样才能改变这一点?我的htaccess文件如下所示<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /myproject/ RewriteRule ^index\\.php$ - [L] RewriteCo