【问题标题】:Dynamic meta description and keywords - Wordpress PHP动态元描述和关键字 - Wordpress PHP
【发布时间】:2017-05-01 02:15:29
【问题描述】:

我有这段代码可以在 Wordpress 模板页面中创建动态页面标题:

$prodname = sanitize_text_field($_GET['prod_name']);

$prodname = esc_sql( $prodname );

global $wpdb;
$products = $wpdb->get_results("SELECT * FROM product_data WHERE prod_name='$prodname';");

add_filter('wp_title', 'assignPageTitle');

function assignPageTitle() {

    global $products;

    foreach($products as $product){

        echo "".$product->prod_page_title."";

    }

}

我也想使用类似的技术来进行元描述和元关键字,但我不确定 Wordpress 钩子对这两者有什么作用。有谁能帮忙吗?

更新:

此代码用于在结束 </head> 标记之前添加元描述和元关键字

add_action( 'wp_head', 'assignMetaInfo' );

function assignMetaInfo() {

    global $products;

    foreach($products as $product){

        echo "<meta name='description' content='Test Description' />";

        echo "<meta name='keywords' content='Test Keywords' />";

    }

}

【问题讨论】:

  • 你在使用任何 SEO 插件吗?
  • 我正在使用运行自定义子主题的 Genesis 框架。 Genesis 有自己的 SEO 设置,但由于这些模板页面是动态的,使用 MySQL 数据库中的数据,所以我不能真正使用它,就像 Yoast 等其他插件一样。除非您知道通过插件添加动态内容的方法?

标签: php wordpress


【解决方案1】:

这是正确的解决方案:

add_action( 'wp_head', 'assignMetaInfo' );

function assignMetaInfo() {

    global $products;

    foreach($products as $product){

        echo "<meta name='description' content='Test Description' />";

        echo "<meta name='keywords' content='Test Keywords' />";

    }

}

【讨论】:

  • 是的,你必须怎么做,因为如果你不使用任何 seo 插件,那么默认情况下 WP 不会创建这个meta。但是您应该每页只有一个meta desc 和keyword,而不是更多。如果产品的数据多于 1 个,for 循环可能会生成多于 1 个。
猜你喜欢
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 2015-03-07
相关资源
最近更新 更多