我在 Wordpress 中创建了一个名为 Listings 的自定义帖子类型。
我在每个列表页面上都包含了 WPforms Lite 表单。我想在实现 WPForms 自定义智能标签时在我的 functions.php 中获取并使用自定义帖子类型的标题。
在此处使用 WPForms 提供的文档:WPforms Custom Smart Tags我可以使静态链接正常工作,我可以从表单主题中的示例中选择{download_link}
(在我的情况下{listing_title}
)标签并将链接显示为主题在发出的电子邮件中。
我想用动态标题替换链接(字符串),该标题是根据提交表单的列表帖子获取的。
我试过使用wp_title();
and get_the_title()
,但都没有工作。我不完全确定为什么我不能以这种方式获得标题。我猜测 Wordpress 循环与它有关,或者自定义帖子类型需要额外/不同的东西。
我已经阅读并尝试了下面列出的几篇文章,但没有成功。
最后,我必须提到 WPforms 具有引用页面和帖子标题的智能标签,但它们也不起作用。我猜这又是因为我正在尝试使用自定义帖子类型(列表)。
我的代码:
/**
* Register the Smart Tag so it will be available to select in the form builder.
*
* @param array $tags
* @return array
*/
function wpf_dev_register_smarttag( $tags ) {
// Key is the tag, item is the tag name.
$tags['listing_title'] = 'Listing Title';
return $tags;
}
add_filter( 'wpforms_smart_tags', 'wpf_dev_register_smarttag' );
/**
* Process the Smart Tag.
*
* @param string $content
* @param string $tag
* @return string
*/
function wpf_dev_process_smarttag( $content, $tag ) {
// Only run if it is our desired tag.
if ( 'listing_title' === $tag ) {
// $link = echo get_the_title();
// Replace the tag with listing title.
$content = ; // SOMETHING RELATED TO LISTING TITLE
}
return $content;
}
add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag', 10, 2 );
我需要将$content
变量设置为当前列表帖子的标题
在这里看到:
$content = ; // SOMETHING RELATED TO LISTING TITLE