Disqus comments and pingback script – how to change the order?

oh, it looks like I wrote that script, so let me try to answer you 😉

You could for example:

  • add your own action hook in your template,
  • use javascript to move the pings below the Disqus comments,
  • hijack the disqus_language_filter filter of the Disqus plugin.

If you go for the last option, you could use this modification of the PingsList class instead:

/**
 * Modified version of PingsList to display the pings below the Disqus comments.
 * @see http://wordpress.stackexchange.com/a/174468/26350
 */

class PingsList
{
    protected $pd;
    protected $pw;

    public function __construct( IPingsView $pw, IPingsData $pd )
    {
        $this->pw = $pw;
        $this->pd = $pd;
    }
    public function init()
    {
        $this->pd->init();
        add_filter( 'disqus_language_filter', array( $this, 'disqus_language_filter' ) );
    }

    public function disqus_language_filter( $lang )
    {
        $this->pw->template( $this->pd->get_data() );
        return $lang;
    }

} // end class

This should display the pings below the Disqus comments.